Bug Fixes and Updates for DVN Consumption

We needed to make a few changes at DVN to make this library work with our server implementation:

1) Add support for passing a certificate. Some of our test servers are self-signed, so we can't connect unless we can pass our certificate through to HttpLib.
2) A few updates to .gitignore (these you can take or leave).
3) Add support for creating an Entry object from existing XML. One of our use cases was to take existing Atom Entry XML and create deposit metadata with this XML. Made a small change to __init__ on the Entry class to make this possible. Instead of bootstrapping from the small chunk of predefined XML, we bootstrap from the XML passed to __init__().
4) Dump content of requests on error. Before we were just outputting the headers of the request. However, we put useful information in the content of the request, so we should dump that too for debugging.
5) Add support for "multipart/related". We couldn't connect to DSpace/DASH sword server implementations without adding this line.
6) Add __repr__() method to http_layer.py for debugging purposes.