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.
Yes, but not easily, we don't have the version anywhere accessible to the package at the moment. Using something like https://github.com/pwaller/__autoversion__ could be a good option.