Add onNotFound and onBadRequest callbacks

Auth errors are user facing, but they currently return a status code and string, without the ability to use a custom error template. This allows the user to handle each error in the controller.