Express middleware and error handler to send hal responses with json/xml/html negotiation.