These are the best places to book a night’s stay in the Spanish city, from arty outposts to luxury hotels