HMAC support

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