Introduce new NonXmlResponseException

- New base class for all API exceptions
- Throw NonXmlResponseExceptions for Oauth plain text failures
- Throw NonXmlResponseExceptions for HTML responses (with any HTTP
  status code)
- Stop resharper warning for not using object initialisers
- Throw NonXmlResponseException for empty response body
Tidy up response deserializer

- Split out response detection into new collaborator
- Add resharper rules for constants and test method names
- Test response detection in isolation
Handle null responses in deserializer

- Throw ArgumentNullException as this is an error in the wrapper itself
  if this condition occurs.
Introduce new UnrecognisedStatusException

- Throw UnrecognisedStatusException when response status is not preset
  or not one of "ok" or "error"
Introduce new exceptions for API error codes etc

- Add new intermediate base class for API error codes
- Pull up HTTP status code and response body to APIException base class
- Introduce and throw specific exceptions (InputParameterException,
  InvalidResourceException, UserCard, RemoteApiException) when error
  xml is received in the response.
- New ExceptionFactory collaborator for creating and populating exceptions from a
  response
- Rename ResponseDeserializer to ResponseParser for clarity
- Introduce and throw Unrecognised error exception for unknown error
  codes, unparsable error XML or missing error schema
- Fix up example and integration tests to use new error exceptions
- Remove now defunkt ApiXmlException
Disambiguate oauth exceptions

- Add OAuth error detection
- Introduce and throw new OAuthException for non xml responses which are
  OAuth related
- Simplify and consolidate response and error checking
- Fix broken Card deserialization due to missing XML declaration
- Add tests round ExceptionFactory
Document new exceptions
Merge pull request #3 from 7digital/master

Update root fork
[Issue-19] Added CreateWithCreds method to allow manual insertion of credentials classes to the static apiwrapper setup to enable circumnavigation of auto class wireup
Merge pull request #18 from raoulmillais/exception-improvements

More granular exceptions
Merge pull request #21 from gregsochanik/master

Manual credential insertion when using static Api<TResource> call
updated caught exception to the new ApiException inside the new wrapper execptions
OAuth API: Rename UserSecret to TokenSecret

"UserSecret" is a badly named parameter. The real name (as specified in
our documentation) is TokenSecret, because it's a secret related to the
token, not to the user.

This makes the API a bit less confusing :)
Oauth exception should get the error message from the plaintext response. Removed default error message that was not relevant to this class
Tidy on the exception classes
No "yo dawg" in production code
Deleted files that aren't used in project
consistent indenting
Merge pull request #24 from AnthonySteele/master

Deleted files that aren't used in project
removed more unused files
Merge pull request #25 from AnthonySteele/master

Found three more files that weren't used in the project
GZipHttpClient: dispose webResponse after using it, but: a) in the method that creates the webresponse, not the one that consumes it. b) with the a safer 'using' clause