Improved HMAC error handling

...port level errors, simplifying user application error handling for those cases.