The best places to stay in Barcelona for all types of travellers