Adding various crypto functions
Generated a derivedKey if given the SecretKey
UDP packets are now encrypted and verified
integ test uses encryption now
fixing pkcs7decode
Support TCP level encryption
Move compression level into a constant
Avoid exporting security constants from the package
Reject the remote state if they are not also using encryption
Add an encryption 'version' byte
Account for encyption overhead
Add a test for encrypt/decrypt state
Make use of independent HMAC and Encryption keys
Switch PBKDF2 to using SHA256 with 4096 rounds
Update security to reflect latest model

Switch from AES-CBC-HMAC to AES-GCM. Dropping password support in favor
of only keys, and removing use of PBKDF2.
error if encryption is used with protocol version 0