5 must-visit fairytale towns in Europe full of perfectly-preserved medieval villages, centuries-old castles and beautiful forests.