Refactor /:collection/:id route

Handle missing doc earlier and return to prevent excess nesting. Also
take advantage of the jsonp function taking a status code as the first
parameter to simplify 404 handling code.
Add withBody middleware to handle options root wrapper

If the query string parameter `include_root` is set to `false` then
don't wrap the response in a `result` wrapper. This only affects the
following routes:

- GET /:collection/:id
- PUT /:collection/:id
- POST /:collection

Any routes that list objects will not be affected by this parameter
because the pagination will use the root of the response to put
properties like `total` and `per_page` and `next` links.
Add documentation for include_root parameter

When a user is querying the API they can optionally skip the root
wrapper of the API by providing the include_root=false parameter.