You can stay in these amazing British castles for less than £40 a night