Simplify RequestParseState.finish_header()

Removes PartialHeader.apply() and creates a 'headers' property on
RequestParseState, which is then used by finish_header() to
implement the actions that PartialHeader.apply() took.  This
prepares for more sophisticated header management to come.
Switch to using StackedDict

Switch to StackedDict.  In addition, get rid of the __getitem__(),
__setitem__(), and __delitem__() methods on Sequence and Request,
since the state is now accessing the 'headers' attribute directly.
This also adds tests on Request.fix().