From Alpine villages to Mediterranean seaside escapes, these are the most beautiful small towns in Europe.