Add support for sending un canonicalized HTTP headers via twisted.web.client.Agent
twisted.web.client.Agent automatically converts request headers to canonical form (uSeR-AgEnt becomes User-Agent), this means that we are unable to use it for our header field manipulation test.
I would suggest going for the path of subclassing http.HTTPClient and drawing inspiration from HTTPPageGetter, in particular I would look at the methods connectionMade and of HTTPPageGetter.
This should then be a flag that can be passed to the HTTP test template that allows us to perform HTTP requests without this mangling going on.