Bug 1078520 - python client

Implement a python client.  Note to reviewers, there were a couple fairly substantial changes to the way the module in the latest commits.  It's probably best to only really look at the most recent code.
`You don't need to instantiate individual API Client objects.` what? either I'm totally misunderstanding the API and python or this simply plain wrong.

Also why would you not want individual client objects, this is important, so you have them with different settings... These object have credentials and settings and shouldn't live in global scope. The classes can, but not the objects.