objectquery: add comment to explain 507 response
objectquery: fix content length mismatch cases

Previously, we only checked if the content-length header was not equal
to the amount of content received in a request. This resulted in a "499
Client Closed Request" (indicating a premature disconnect).

This response could be triggered by content either less then OR greater
than that specified in the conteint-length header. This is a bit weird.

This change alters the check and breaks it into two cases:

- actual content < content-length: 499
- actual content > content-length: 400 (Bad Request)

Tests are updated accordingly.
objectquery: 405 if container req is not GET

Containers can only be read by ZeroVM applications, thus "GET" is the
only supported method.

Previously, anything that wasn't a GET on a container resulted in a "400
Bad Request".
Merge pull request #134 from larsbutler/zerovm_query-bugs

`zerovm_query` HTTP responses: bug fixes and clarification
move some exception handling to a better place

HTTPExceptions should be handled in the outmost callable
that way it's easier to catch all the exceptions that may arise anywhere in objecquery code
strategically moved all the debug logging and exception handling into `__call__` method of the middleware