added support for JSON API errors

http://jsonapi.org/format/#errors

a JSONAPI_Error can now be thrown from a callback, fortune will render this back to the consumer in the correct format 

e.g.  

 throw new JSONProblemError({
    status: 400,
    detail: 'Foo was baz'
 });

a specialised Express error middleware will render any uncaught errors to JSONAPI Error output  
Don't we still need this ? before transform is badly named in my view. The callback allows user defined logic to reject a delete