Improve curl_httpclient so it supports custom methods with payload.

Before this, no custom method (e.g. PATCH) could add a body to the CURL request.

According to the RFC-6902, PATCH is supposed to accept payload:
http://tools.ietf.org/html/rfc6902

The implementation is generic, in the sense any custom method can have a payload (before, none could).