client: Allow User-Agent header to be overridden
The user agent for requests to the internal API endpoints used the
default Go provided user agent. This change updates that to always set
something else, by default GitLab-Shell
.
Than for others importing the package, there's a new API to set it to something else. This has been done with new method, a setter, to maintain backwards compatibility in the API.