Add low-level API

Adds the foundation of a low-level REST API client. A follow-on review will
have the object-store commands converted into this form.

* api.api.BaseAPI holds the common operations
* api.api.BaseAPIVersion has common version discovery support

Change-Id: I8fba980e3eb2d787344f766507a9d0dae49dcadf
Move object-store commands to low-level API

api.object_store.APIv1 now contains the formerly top-level functions
implementing the object-store REST client. This replaces the old-style
ObjectClientv1 that is no longer necessary.

Change-Id: I7d8fea326b214481e7d6b24119bd41777c6aa968
Steal mhu's auth bits...

...from https://review.openstack.org/#/c/108325/ and see how they work
in a separate module.  Rather well actually.

examples/object_api.py has a work-in-progress example of using this
auth with the low-level API.

Change-Id: Ib63197451af7b26df77de7793bbf323e8539ecd4