From historic fishing hamlets to idyllic country villages, these are eight of the most picturesque small towns in England.