Edinburgh is a city that has it all, from castles and museums to Michelin-starred restaurants and state of the art theatre.