HTTP/2 Data Compressor

Motivation:
The HTTP/2 codec currently does not provide an interface to compress data. There is an analogous case to this in the HTTP codec and it is expected to be used commonly enough that it will be beneficial to have the feature in the http2-codec.

Modifications:
- Add a class which extends DefaultHttp2ConnectionEncoder and provides hooks to an EmbeddedChannel
- Add a compressor element to the Http2Stream interface
- Update unit tests to utilize the new feature

Result:
HTTP/2 codec supports data compression.
Maybe combine the two writes into one to reduce the duplication...

    boolean endOfStreamForBuffer = nextBuf == null ? endOfStream : false;
    super.writeData(ctx, streamId, buf, padding, endOfStreamForBuffer, newPromise);
    if (endOfStreamForBuffer) {
        break;
    }