Fix a bug in NIO transport where inboundBufferSuspended() is triggered even if the channel is closed.

- No non-static wildcard import
Move utility method to abstract base class and correctly handle expand of buffer also for OIO
Extract the utility classes related with SSL to the util package
Fix a bug where SslHandler does not respect the startTls flag

- Fixes #856
- Add a dedicated test case: SocketStartTlsTest
Do not set 'Content-Encoding' if the target encoding is 'identity'

- Fixes #769
Make ChannelConfig.setAutoRead() triggers Channel.read() if autoRead was previously false

- also rename JDK socket and channel variables so that they are less ambiguous
Do not auto-start read operation
Revert 5161ca733c330e21fa0f1b89ba4d464791600d52
Re-ignore ServerSocketSuspendTest (unignored by mistake)
[#887] [#866] [#883] Add unified interface for Message oriented protocols and also use direct buffers for them
[#884] Split SCTP transport into extra module
Make sure the Unpooled.EMTPY_BUFFER can not be freed and the capacity can not be changed
Make sure we catch UnsupportedOperationException for derived buffers
Safe copy of buffer for test
Don't spin the CPU so much in tests
Add some of the metrics mentioned in #718

use single static initialization of available metrics monitor registries

* This changes the original implementation to work in a similar way to
how slf4j selects and loads an implementation.
* Uses a single static instance so intialization is done only once.
* Doesn't throw IllegalStateException if multiple implementations are
found on the classpath. It instead selects and uses the first
implementation returned by iterator()
* Class left as an iterable to keep the API the same

add yammer metrics to examples to allow them to publish metrics

publish the number of threads used in an EventLoopGroup see issue #718

* seems like the better place to put this because it sets the default
thread count if the MultithreadEventLoopGroup uses super(0,...)
* It also happens to be the common parent class amongst all the
MultiThreadedEventLoopGroup implementations
* Count is reported for
io.netty.channel.{*,.local,.socket.aio,.socket.nio}

fix cosmetic issues pointed out in pull request and updated notice.txt

see https://github.com/netty/netty/pull/780

count # of channels registered in single threaded event loop

measure how many times Selector.select return before SELECT_TIME
Optimize AbstractByteBuf.adjustMarkers()
[#882] Add a PartialFlushException which will allow to notify the user that the flush/write was only partial succesful
Fix a link in ZlibWrapper
Call Freeable.free() if a Freeable message reaches the end of the ChannelPipeline to guard against resource leakage