Allow the client to specify a custom Agent.

By default, use the same Agent treq always provides, but allow using a custom Agent.
Unless/until treq grows addtional features, this would allow you to customize some of the behavior.

I have been experimenting with this by adding the ability to add internal CA certs to the certificate store.  This lets treq make requests to sites with public certs *and* sites on an internal network.  I find this more desirable than adjusting the OS certificate bundle, as treq may be used in different contexts on the same server.  E.g. process "A" should really only be dealing with public sites, but process "B" might need to make requests from internal sites.