Allow overriding 'Content-Type' header.

This 'Request' objects passed to a client will now have their header list pre-populated with 'Content-Type' and 'Content-Length' headers set. Previously the 'Client' implementations were responsibile for setting this data.

Closes #434.