Push the Affiliate partner parameter setting into the wrapper to make client code more readable.
Used the HasAffiliatePartnerParameter marker interface to lock down the ForAffiliatePartner extension
FluentApi: wrap WebExceptions in ApiException

The rationale of this is to have the URI of the endpoint that was being
hit when a WebException happens (this can happen when an API timeouts).

This is useful to be able to determine if certain API endpoints have lower
reliability than others.
Exceptions: rename ApiException to ApiResponseException

Given that we have now a new ApiWebException which *should* be an
ApiException but doesn't have a Response, then we rename ApiException
to ApiResponseException, and we make it inherit from the new ApiException
which only has a Uri property, which will be a parent of ApiWebException
too.
Exceptions: cleanup, remove unused constructors
Merge pull request #57 from knocte/WrapWebExceptions

Wrap web exceptions as ApiExceptions
All exceptions are serialisable including populating all properties

- Add missing SerializationInfo constructors
- Add manual serialisation hints where required (override GetObjectInfo)
- Tests that round-trip serialise the exception
Fix RoundTripSerialiser to return new object
Merge pull request #59 from danhaller/master

Made all exceptions serialisable
Merge branch 'upstreammaster'
Rename HttpClient to HttpClientWrapper
The name "HttpClient" causes complexities
as it clashes with the class System.Net.Http.HttpClient (new in .Net 4.5)
Which this will eventually be a wrapper of.
Merge pull request #53 from AnthonySteele/master

ForAffiliatePartner  extension method
Merge pull request #60 from AnthonySteele/httprename

Rename HttpClient to HttpClientWrapper