A couple of tests and a design idea.

These proposed changes are inspired a lot from [paypal-python](https://github.com/duointeractive/paypal-python), because it is a very clean, compact, and well document piece of software with a simple and effective API. Changes include:

* A base for testing including the use of **`api_details.py`** for configuring tests.
* A new generic `GetShipments` class for the contract_shipping module (introduces a bit of redundancy, as `GetManisfestShipements` does part of what this class does)
* A skeleton for a `CanadaResponse` class. The idea is that it can eventually expose convenient functions and operators to make the end-user's life easier. Example: a `success` property
* The `_call` function in `CanadaPostAPI` is meant to do the work that is common to any call to Canada Post web services therefore reducing repetition in the code. For example, a lot of the logging, calls to `requests` methods, and much of the content of the `get_url` functions of the service classes are repeated; `_call` reduces that repetition. I think, in the end it will make for readable and compact code.
* Doc strings

These changes should not break any of the program's current functionality.