Simplify a bit
Use tryFailure() to notify registration failure to avoid IllegalStateException

 .. which is raised when the registration promise has been failed already due to an internal error in the pipeline.

- Fixes #1319
[#1321] HttpHeaders.removeTransferEncodingChunked(..) must handle the value in case insensitive manner
Fix type in class name
Fix checkstyle
Fix checkstyle
Introduce EventExecutor.shutdownGracefully() that deprecates shutdown()

shutdownGracefully() provides two optional parameters that give more
control over when an executor has to be shut down.

- Related issue: #1307
- Add shutdownGracefully(..) and isShuttingDown()
- Deprecate shutdown() / shutdownNow()
- Replace lastAccessTime with lastExecutionTime and update it after task
  execution for accurate quiet period check
  - runAllTasks() and runShutdownTasks() update it automatically.
  - Add updateLastExecutionTime() so that subclasses can update it
- Add a constructor parameter that tells not to add an unncessary wakeup
  task in execute() if addTask() wakes up the executor thread
  automatically.  Previously, execute() always called wakeup() after
  addTask(), which often caused an extra dummy task in the task queue.
- Use shutdownGracefully() wherever possible / Deprecation javadoc
- Reduce the running time of SingleThreadEventLoopTest from 40s to 15s
  using custom graceful shutdown parameters

- Other changes made along with this commit:
  - takeTask() does not throw InterruptedException anymore.
    - Returns null on interruption or wakeup
  - Make sure runShutdownTasks() return true even if an exception was
    raised while running the shutdown tasks
  - Remove unnecessary isShutdown() checks
  - Consistent use of SingleThreadEventExecutor.nanoTime()

Replace isWakeupOverridden with a constructor parameter
Fix a bug where the unpooled buffer returned by the pooled allocator reports an incorrect allocator
Fix a bug where SingleThreadEventExecutor sets its internal state flag too early during termination
Introduce AddressedEnvelope message type for generic representation of an addressed message

- Fixes #1282 (not perfectly, but to the extent it's possible with the current API)
- Add AddressedEnvelope and DefaultAddressedEnvelope
- Make DatagramPacket extend DefaultAddressedEnvelope<ByteBuf, InetSocketAddress>
- Rename ByteBufHolder.data() to content() so that a message can implement both AddressedEnvelope and ByteBufHolder (DatagramPacket does) without introducing two getter methods for the content
- Datagram channel implementations now understand ByteBuf and ByteBufHolder as a message with unspecified remote address.
Ensure UnreleasableByteBuf does not expose the wrapped buffer to the caller

- Fixes #1324
Update OSGI Test Suite.
Fix style
Log with info level and not with warn
[#1327] Fix javadoc diagram for new api