From Alpine villages to Mediterranean seaside escapes, these are the most beautiful small towns in Europe worth visiting at least once, through every season