HTTP/2 Codec Read/Write Restructure

Motivation:
The HTTP/2 codec has some duplication and the read/write interfaces are not cleanly exposed to users of the codec.

Modifications:
-Restructure the AbstractHttp2ConnectionHandler class to be able to extend write behavior before the outbound flow control gets the data
-Add Http2InboundConnectionHandler and Http2OutboundConnectionHandler interfaces and restructure external codec interface around these concepts

Result:
HTTP/2 codec provides a cleaner external interface which is easy to extend for read/write events.
Actually part of this functionality is provided by the HPACK decoder. (`maxHeaderTableSize`, and `maxHeaderTableSize` just delegate to HPACK).  In order to do composition here we may have to duplicate some data unless the com.twitter.hpack.Encoder and com.twitter.hpack.Decoder share an interface for these two shared methods.  Should we make a request that they make this change?