Use (fromIndex, toIndex) instead of (index, length) for ByteBuf.forEachByte(...)

- Related: #1378
Optimize derived buffers' forEachByte(...) implementation

- Related: #1378
Fix test failure in SlicedByteBuf / Add tests for built-in ByteBufProcessor impls

- Related: #1378
Split ByteBuf.forEachByte() into forEachByte() and forEachByteDesc()

- Related: #1378
- As suggested by @liqweed
Update Javadoc of ByteBufProcessor and MessageListProcessor

- in response to @shacharo's suggestion
Throw IllegalStateException if implementations of ByteToMessageDecoder and ByteToMessageCodec use @Sharable
Vastly simplified ByteBufProcessor and MessageListProcessor

- Related: #1378
- They now accept only one argument.
- A user who wants to use a buffer for more complex use cases, he or she can always access the buffer directly via memoryAddress() and array()
Add MessageList.array() / Rewrite MessageList.add(T[], int, int)

- MessageList.array() should give better performance + concise code
- MessageList.add(T[], int, int) iterated over the source array 3 times at worst case. This commit reduces that to 1 time.
Optimize MessageList.add(MessageList, int, int)
Fix test failures
checkExclusive() -> checkIndex()
Remove potentially misleading exception message

.. because the MessageList itself is not read-only.
SPDY: SpdyFrameDecoder should buffer unread data when decoding headers
Improve Javadoc of ChannelPipeline

- Fixes #1226
[maven-release-plugin] prepare release netty-4.0.0.CR7
[maven-release-plugin] prepare for next development iteration
Add javadocs
Remove un-used method parameter
SPDY: SpdyHeaderBlockDecoder should not discard input data
[#1489] Correctly handle channelReadSuspended and channelWritabilityChanged in CombinedChannelDuplexHandler