[WIP] HMAC support

Dependent on #155 and #156.

[x] HMAC support
[x] HMAC tests
[ ] Test altered hash loader in tests/utils.py