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.
Sometimes I regret that we didn't call the node client for "taskcluster" on npm....
It's a nit... but nice to get right..

In node I prefer to include as `var taskcluster = require('taskcluster-client');` I don't like it when I see code like `var Scheduler = require('taskcluster-client').Scheduler;`. IMO `taskcluster` is an appropriate namespace, that nothing else is going to live in. And it makes the code easier to review...