For a city break with built-in beach time, Barcelona remains head and shoulders above the rest, and these are the hotels that prove it