Initial version description
Add classdoc
Add ref,hash,repo to Version
Add has_version
Be consistent with assertions
More pythonic has_hex
Move test_version
JSON deserialization

Will parse first argument as json version object.

TODO: More error handling.
Only add known fields and verify version validity
Add equality
Better argument parsing
Use static from_json instead
.get() defaults to none
Support unix-style wildcards in trusted repos list

We compare the hostname + path to see if a url is trusted.