An insider's guide to the best hotels on Princes Street, Edinburgh main shopping thoroughfare, including the top places to stay for stylish interiors, luxurious rooms, sumptuous spas, Michelin-starred restaurants and great afternoon teas, near to Edinburgh Castle, Waverley station, the National Gallery and the Old Town.