Fix memory leak around handling of Accepts header.

When adding an Accepts header to the request, this shouldn't be put into
DefaultParameters.  Repeated requests through the same RestClient instance
were adding the Accepts header every time, resulting in a large memory
leak because DefaultParameters was growing without bound.

Instead, only add the header for this particular request.
Add RequestBodyBytes.

Implement the ability for the body of a PUT or POST to be specified using
a byte array, rather than a string.  This avoids the roundtrip through
UTF-8 and back again if the caller already has a byte array.
Merge branch 'fix-accepts-mem-leak' into ewanmellor-master