Add protocol buffer definitions for key version.
Removing placeholders.

- The protobufs complete the picture.
Add CR to EOF.
Add hierarchy to core proto.
Changes to add protobuf support to KeyVersions.

- Moved KeyVersionBuilder to KeyVersion.Builder
- Add methods on KeyVersion for sub-classes to override.
- Add method on Builder for sub-classes to override.
- Modified HMACKeyVersion and AESKeyVersion to conform.
Fixed core/data structure for builder.

- Was not consistent, and would not have worked without
  the proto extension registry.
Revert keySize enum change from AESKeyVersion and tests.
Expand switch statement for safety.

- Default case now catches unsupported modes.
Clone IV instead of assigning as is.

- This is standard practice for safe immutable objects.
Rename proto extension field.

- Looks better when compiled.
Comments and corrections to protos.
Merge pull request #22 from jmaheswaran/master

Added SecurityServices, SecurityServicesTest classes, Algorithm and SecService enums
Throwing builder exception on invalid mode.
Merge pull request #21 from darylseah/master

Protobuf writing/reading support on KeyVersions.
Updating of protos.

- Switched to saner filenames (discovered java_outer_classname).
- Changed string type to enum Type.
- Extension numbers are now 10000 + <enum type number> (convention).
- Removed IV from AES proto.
- Add skeleton for Key proto.
Add KeyVersionInfo annotation.

- For annotating KeyVersions with (1) the proto type
  and (2) the compiled proto class.
- KeyVersion class now automagically sets the key version type
  when building the data proto and registers the required
  proto extensions when reading the data proto.
- Updated AES and HMAC key versions to use the annotation.

- (Also removed IV proto persistence from AESKeyVersion.)
Add @Documented to StoreDriverInfo annotation.

- Makes the annotation show up in the Javadoc of driver implementations.
- Same thing was added to KeyVersionInfo.
Add unit tests for KeyVersion-proto save/load.
Fix comments on unit tests.
Expand range of HMAC types in proto.