Updates to Protos and addition of KeyVersionInfo annotation.

### Protos updated with comments from Shawn.
* Changed string type to enum Type.
* Extension numbers are now 10000 + (enum type number), as a convention.
* Removed IV from AES proto (and modified AESKeyVersion so it would work).

### KeyVersionInfo annotation for KeyVersions
* Allows other classes to obtain the proto type and proto class that the KeyVersion subclass uses.
* Currently used to help KeyVersions read/write protos.
* Required for KeyVersionRegistry later on.
* (Having overridable methods to provide this information is not sufficient.)

I've changed the key version type from a string to an enum (as suggested by Shawn and Andrew), and the extension number is now 10000 + {the enum value}, as a convention. I think this would be cleaner than having two different sets of numbers associated with a key version.