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.
I agree that the naming of these classes are a bit nebulous however these are also internal interfaces.  `Http2FrameWriterConfiguration` and `Http2FrameReaderConfiguration` are the only exposed interfaces.  I would like to try to avoid duplicating code as I ran into a few places in the restructure which consolidated code that previously duplicated responsibilities but also has slight differences.  Is there a way we can keep the code common but perhaps rename or restructure it a bit?