Our 156 top picks for City Hotels in Spain: