Fix for issue #305

This is a proposed fix for issue #305.

I've modified the HttpMethodContext and HttpTransportContext classes to allow them to be easily overridden in sub classes.

I then implemented twisted variant sub classes of HttpMethodContext and HttpTransportContext to handle twisted specific actions, such as setting the response headers, etc.