Rewrite API client, add exceptions

* Switch to requests library.
* Update unit tests.
* Use testtools>=0.9.22 and fixtures>=0.3.12.
* Get rid of mox.
* Require jsonschema>=0.2,<1.0

Change-Id: If08f98f14bfa69455c8cfe139a3a55c4299d5316