Addressing comments for HTTP/2 initialization handshake.

Motivation:

- Not properly determining write completion for preface/settings
- Suboptimal processing for read/write of preface

Modifications:

- Use ChannelFuture to correctly determine the completion of sending
preface and intiial settings to the remote endpoint.
- Use static ByteBuf (and slices when necessary) for encoding and
decoding of the connection preface.
- Disallow sending frames until the initial settings have been received
from the remote endpoint.

Result:

- Better performing read/write operations for the connection preface
- Correctly handling the sending of preface/settings