Hmac and GCM encryption

Implemented HMAC #42 and GCM mode to test which AE is best. #58 

How should it react on wrong HMAC and wrong GCM authentication tag?
MessageDigest.isEqual is constant in time. @jan-schreib checked this out in #44