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.
Serialize Dictionary<string, int> and Dictionary<string, bool>.

Treat these types the same as Dictionary<string, object> and
Dictionary<string, bool>.  This matches the behavior of
System.Web.Script.Serialization.JavaScriptSerializer, and just
generally is less surprising behavior.
Merge branch 'RequestBodyBytes' into tipbit-master
Merge branch 'serialize-other-dictionaries' into tipbit-master