AsciiString and TextHeaders to reduce code duplication

Motivation:

We have various HTTP header-ish data structure in our codecs - HTTP, HTTP/2, SPDY, and STOMP, and we have quite a bit of duplication.

Modifications:

Add TextHeaders, which provides a generic string multimap
Add DefaultTextHeaders, the default TextHeaders implementation with some extensibility
Replace HttpHeaderEntity with AsciiString so that it can be used for other protocols
Remove StompHeaders and use TextHeaders instead.
Rewrite DefaultHttpHeaders and DefaultSpdyHeaders using DefaultTextHeaders
SpdyHeaders is an interface now.  No more static methods.  They were merged into SpdyHeaders's member methods.

Result:

Same or slight better performance
Much less code duplication

This change will not go into 4.0 unless there's really a good reason to do so.  I'll issue another pull request for changing HTTP/2's header which will be part of master.
Not sure I like to have these methods as part of the interface. I think I preferred the static methods. Why you think have this methods makes sense in the interface as these are only shortcuts anyway. I prefer to keep interfaces as short as possible in terms of methods ;)