Changed key generation and made it so the HMAC key is now random.
Used Go's HMAC library.
Moved HMAC stuff into encryption.go