Refactor

So, this seems pretty big, but it actually won't affect the way the API currently works. Instead, this is implementing the new **Request - Client - Response** model on the User API calls.

In this change, the following things have been added:
* Cb::Client (the new way to call the API. It includes a tracing callback)
* Cb::Requests::Base
* Cb::Requests::User::
 * CheckExisting
 * ChangePassword
 * Delete
 * Retrieve
 * TemporaryPassword
* Cb::Responses::User::
 * ChangePassword
 * Delete
 * Retrieve

And tests have been added for all (and Cb::Responses::User::CheckExisting becuase there were none...?).