With its half-timbered cottages and a 15th-century church, Lavenham in Suffolk is one of the best-preserved medieval villages in Britain.