Add support for Cosign proxy authentication

The University of Edinburgh has developed in-house support for proxy authentication using Cosign, and the code is now well tested and ready for submission back to the main project.

Notably, we've had to add-in support for injecting cookies into a Request, from a pre-interceptor; simply naively re-writing the cookies resulted in loss of cookies managed by WebProxyPortlet, and the most efficient solution seemed to be treat the new cookies as their own set. Any feedback on the design there would be welcomed.