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.
@Scottmitch I find the naming of this class (and the interface) to be a bit unclear.  I'm still leaning toward having separate Http2FrameWriter.Config and Http2FrameReader.Config interfaces to help clarify the purpose here.  The implementation is simple enough that it's not a big deal if there is a bit of duplication.  WDYT?