Remove old validate functionality and other opinionated code librarian changes.

I was going to raise the issue about removing validate, but figured it would be just as quick to do it. Also triggered a little bit of a re-org just to tidy up where some code lives - but it is really just shuffling code and deleting the unused bits.
Should we add a note in `api-compatability` about the changes? (Not sure if anyone will notice/care)