Move to version 1 protocol. Implement msgpack. Refactoring

* This spec implements the verison 1 protocol
* Wire compatible with the python version
* Removed xdr implementaion
* Wrote msgpack implementation (upsteam msgpack does not yet provide
  support for the published msgpack standard, which the python version
  does, so writing our own seemed reasonable given that we use a small
  subset.
* In line with the new simplified datatypes, The container type
  VerifiableMessage is removed.
* Simplified the Signer API (signer now signs arbitrary byte arrays)
As a general consideration, I'd go for a separate interface such as `Codec` that defines the `encode` and `decode` methods and inject a codec object though `CrtAuthClient`'s constructor. I find it tends to make the code more modular and decoupled (potentially allowing you to plug in different codecs.
If you have strong reasons to stick to static imports go ahead tho.