Fix for static client variables and continously growing http headers.

Fixes #18

First: Usages of `HttpClient` and `ServiceHttpClient` were `static` variables but used like member variables, which causes unexpected behavior if you ever instantiate two instances of `ForceClient`.

Second: Changed the way request headers are added. Before, request headers were
continuously appended with each call to the force client. Instead, the default request headers are set once for the HttpClient (which is no longer static so won't be swapped out by instantiating a new client) and other request headers are added with the Request object, not the http client object.