[#1302] Make sure the handshake future is failed with a ClosedChannelException on channelInactive
Reduce exception instantiation overhead in SslHandler / Reduce unnecessary empty array creation

- Added EmptyArrays as an internal utility class
Improve localhost / local interface detection mechanism in NetUtil

- Do not attempt to validate localhost by binding a socket because it can fail when SecurityManager is in use
- Find loopback interface first and get address from there instead of getting loopback address from InetAddress.getLocalHost() (because it's more reliable)
- Instead of throwing an Error, just log and fall back to 127.0.0.1 while determining localhost address
Format code
Add another safe-to-ignore socket error message for SslHandler

.. which covers the 'Software caused connection abort: recv failed' from Windows
Add IPv4 and IPv6 specific localhost constants to NetUtil
Fix 'unsupported address type error' in UDP tests / Fix checkstyle
Unignore DatagramMulticastTest because it seems to pass on Linux, MacOS X, and Windows

More specifically: Ubuntu Linux 13.04, MacOS X Lion, Windows 7
Add more safe-to-ignore exception messages for SslHandler

- Just in case SslHandler is used on UDT
Fix an infinite exception storm triggered by DefaultChannelHandlerContext.invokeInboundBufferUpdated()

- it has to break from the infinite loop when an exception is raised by handler
ChannelHandler.handlerRemoved() must be invoked *after* the handler has been removed completely and its buffers should be inaccessible.
Add a failing test that will pass once #1306 is fixed
Rename methods to catch up the recent changes in handler life cycle listener methods / Ensure to call handlerRemoved() even if ctx.forwardContentAndRemove() failed
Format
Move multiplicity check to the early stage

.. no need to do it late
Make sure handlerAdded() is called before forwarding the buffer content of the removed handler

- Added a test case that reproduces the problem in ReplayingDecoderTest
- Call newHandler.handlerAdded() *before* oldHandler.handlerRemoved() to ensure newHandlerAdded() is called before forwarding the buffer content of the old handler in replace0().