api features json response and next middleware

based on req.accept returns either json or html representation of the error.

* fixed tests
* responses render with express 3 with status code 500
* if request doesn't accepts json/html then next middleware is invoked.
add support to disable html and/or json responses

* updated readme
* added tests
better errors with multiline header

* improved header parsing
* moved error details in its own section
* added util/testServer helper for /bigerror