From artsy Sitges to party-friendly Ibiza, the best beach towns in Spain have fortresses, pintxos, and beaches to keep you entertained for days.