Fixed support for DataContract serializations.
Refactored Http and HttpRequest to push serialization, deserialization and processing of errors to the httpRequest rather than in the Http class itself. This allows for extending the API to support any serialization/deserialization technology.