The best afternoon teas in Edinburgh served in 5 star hotels, cute cafes and royal buildings. Plus tips on how where to dine on a budget.