Add authentication module

This PR adds support for an authenticated signing endpoint and a default HMAC authentication provider. This extends the work originally done by @grittygrease.
This JSON error should be wrapped in a CFSSL error.