Respond to HEAD requests

When responding to a HEAD request all the database work is done,
but serialization isn't, saving a bit of CPU.

Fixes #41
Fix logging errors with HEAD requests
Refactor 405 Method Not Allowed handling

Because we need a custom header, we can either special-case 405 errors
in the error handling code or not use the error handler. This does the
latter because 405 errors can only arise early in the request processing
in a couple of places.

Also get rid of the restrictions in the API .cpp files to GET-only.
There's nothing wrong with a HEAD request against the nodes?nodes...
endpoint, and the rails port responds to these.

Overall the HEAD responses are now a lot closer to the rails port.

Fixes #37
Add OPTIONS to 405 response
Move single- and multi-element calls out of experimental
Merge pull request #50 from pnorman/basic_fetch

Move single- and multi-element calls out of experimental
Merge pull request #42 from pnorman/head_request

Head request
Merge pull request #48 from pnorman/405_error

405 errors
Fix tests with `--enable-experimental`.

Tests requiring experimental features have been moved into
separate files, which are conditionally enabled when the configure
flag is passed in.