Set a custom user agent string

This makes it easier to spot requests from the client. It would be nice
to extend this with the ability for the user of this client to set their
own extension to this user agent.
No, we put the version in a `VERSION` file at the top level. This is not the brought into the deployed package. Also, even if we did have it in the `__init__.py` we wouldn't be able to easily import it because it would cause a circular import.