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.
# see RFC 4648, sec. 5
Does not dictate removal of `=` padding.. That's something I came up with :)
Anyways, I suspect that you only use this for slugids. So maybe we should just move it down there... So people don't think this does URL-safe base64 encoding... At least just move `replace('=', '')` part.