Here are 5 of the most idyllic small towns in Germany. Find out where to eat, stay and the top attractions in each village.