Remove unnecessary throws.
Make info annotations inheritable.

- More convenient for implementations.
- Modified unit test to work with this.
Add comments to intermediate constructors.
Add hashCode/equals and tweak API on KeyVersion.
Add mock key version and a testing proto.
Rename test proto to mock proto.

- Fields are too specific to the mock.
Catch RuntimeExceptions when loading a Key.

- They may be thrown by KeyVersion.Builders on invalid
  protobuf data. We interpret them as (proto) data errors.
Add unit test for RegisteredKeyVersion.

- Similar to InstalledDriver unit test in structure.
Update InstalledDriver unit test.

- Syncing style with RegisteredKeyVersion test.
Rename type() to getType().

- Oops.
Rename methods and add comments.

- Syncing with latest unit test "styling".
Add null checks on various methods.
Add unit test for KeyVersionRegistry.
Merge pull request #29 from darylseah/master

Add unit tests for RegisteredKeyVersion and KeyVersionRegistry.