Minor:reformatting
Added postgres json support
Allowed error reports to be maps
Added middleware to map requests and responses to different forms
Moved response constructors into client code. Really annoying not getting auto-complete in cursive.
Minor: reformat
Minor: better marking of client errors in tests
If client tries to return a malformed result, do-work includes ex-data and original result. Lots of safety around trying to report unserialisable results and ex-data.