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.
Yes, I figured may as well just copy them all over, but I guess any time we have a new option we care about, there's going to be more code changes needed than adding to a tuple

fixed a2292fe