Implemented AESKey, KeyVersion, SymmetricKey, added tests, added skeleton for Key

Implemented AES encryption and decryption and JUnit tests for this. Added Key skeleton. Added AESKey which extends SymmetricKey which extends KeyVersion.