Let BufUtil.retain(...) return the given object
Check for NPE and also optimze HashSet allocation
Javadocs cleanup / added
Travis CI configuration
Initial implementation of the Streaming API

This pull request provides a framework for exchanging a very large
stream between handlers, typically between a decoder and an inbound
handler (or between a handler that writes a message and an encoder that
encodes that message).

For example, an HTTP decoder, previously, generates multiple
micro-messages to decode an HTTP message (i.e. HttpRequest +
HttpChunks). With the streaming API, The HTTP decoder can simply
generate a single HTTP message whose content is a Stream. And then the
inbound handler can consume the Stream via the buffer you created when
you begin to read the stream. If you create a buffer whose capacity is
bounded, you can handle a very large stream without allocating a lot of
memory. If you just want to wait until the whole content is ready, you
can also do that with an unbounded buffer.

The streaming API also supports a limited form of communication between
a producer (i.e. decoder) and a consumer. A producer can abort the
stream if the stream is not valid anymore. A consumer can choose to
reject or discard the stream, where rejection is for unrecoverable
failure and discard is for recoverable failure.

P.S. Special thanks to @jpinner for the initial input.
Make sure we handle outbound messages of type ByteBuf special
Add package-info.java for the Stream API / Print maven version on travis CI
Why don't CI services upgrade to Maven 3.0.5?

Do they just wait for someone to exploit the vulnerability?
Run full build on Travis CI install
Clean before installation in Travis CI
Make StreamTest finish sooner to make CI happy
Travis CI branch whitelisting
Use LinkedHashSet
Fix a NoSuchElementException when WebSocketClientHandshaker is used with HttpRequestEncoder
Fix a NoSuchElementException when WebSocketClientHandshaker is used with HttpRequestEncoder. This time for real
Add DecoderResult.UNFINISHED to represent the case where a decoder generated a message that was not decoded completely / Remove partial failure in DecoderResult which is not very useful but confusing
Reschedule the streaming API for later

- Will release as a part of http_next
Fix test failures
Add ThreadPerChannelEventLoopGroup and ThreadPerChannelEventLoop to enable a user to write a new thread-per-channel transport easily

- Fixes #1124
Allow SingleOutboundMessageHandler.beginFlush() to reject the flush request by returning false / Replace PartialFlushException with IncompleteFlushException which is more correct.