Support for chunked transfer encoding for HTTP request

This allows users to create large requests or requests with content whose size is not known.