allowing payload for methods like DELETE.

In its delete_by_query api, elasticsearch allows the query to
be passed in the query string, but also as a json payload. This
should allow that, and also does some cleanup, by treating the
absence of a payload as a payload of 0 size (content-length)