Expose User-Agent header in ConnectionInfo

This PR allows the User-Agent header to be exposed by the ConnectionInfo class.

An alternative possibility would be to allow the library user to specify additional headers to expose via an optional dictionary in get_conn_info(), which could then be passed to the ConnectionInfo constructor.

If you prefer this alternative method, please let me know and I will update the PR.