Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56518
Refactor NIO's SocketProcessor to use KeyAtrtachment rather than Socket to align it with the other implementations. This enables a number of attachment->socket->attachment transitions to be skipped which appears to resolve the root cause of BZ 56518. Since the wrapper is available and can be processed, it becomes possible to reduce the connection count when the socket is closed by the interrupt.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1594411 13f79535-47bb-0310-9956-ffa450edef68