Update the base ApplicationException with custom headers

Also update the exception_handler to set those headers on errors.
Updated HMAC with working implementation
Tests for HMAC authentication / failure states