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.
Could we include the version so we can see if anyone is out of date?