Adding a passSettings flag to DefaultHttp2FrameReader.

Motivation:
When DefaultHttp2FrameReader has read a settings frame, the settings
will be passed along the pipeline. This allows a client to hold off
sending data until it has received a settings frame. But for a server it
will always have received a settings frame and the usefulness of this
forwarding of settings is less useful. This also causes a debug message
to be logged on the server side if there is no channel handler to handle
the settings:

[nioEventLoopGroup-1-1] DEBUG io.netty.channel.DefaultChannelPipeline -
Discarded inbound message {INITIAL_WINDOW_SIZE=131072,
MAX_FRAME_SIZE=16384} that reached at the tail of the pipeline. Please
check your pipeline configuration.

Modifications:
Added a 'passSettings' parameter to the constructors of
DefaultHttp2FrameReader. For existing constructors the default setting
is false.

Result:
It is now possible to control whether settings should be passed along
the pipeline or not.
I think this is perhaps a matter of preference.  
With the static method you can simple call:
```java
InboundHttp2ToHttpAdapter.forConnection(connection).build()
```
instead of:
```java
new InboundHttp2ToHttpAdapter.Builder(connection).build()
```
>how will they be able to fully configure the builder if we don't expose a constructor?

I'm not sure if we mean the same thing, but I would consider the following code to "fully" configure the builder:
```java
InboundHttp2ToHttpAdapter.forConnection(connection)
                                .maxContentLength(maxContentLength)
                                .validateHttpHeaders(false)
                                .propagateSettings(true)
                                .build()));
```
Is this what you mean when you say fully or something else?