Add support for Delegation Handler

This is a pretty simple handler to support delegation. I had to modify the CheckerServletRequest to support mutating headers.

Squashed commits. For history, refer to #229 
I think you should do this everywhere not just in core.

Also can you get rid of old branches.  Thanks.