Some renaming, droping of tests and other identity bits

Also adding some documentation
Removing unused identities

We can always bring these back if we need them. That's part of the
reason for making this commit as a single commit, but you'll probably.
Need the previous one with the tests too.
Documentation!

All of the classes should now contain documentation.
Merge branch 'git_metadata'