[FIXED JENKINS-24050] don't let canceled keys kill the selector thread

In looking at the proposed PR #24 (https://github.com/jenkinsci/remoting/pull/24), I feel bit
uneasy to mask the problem like it does.

The code in question is looping through selected keys and processing it one by one.

The only code that calls key.cancel() is done from the selector thread that runs this loop.
So I don't understand how it is possible that the key picked up from selected key set is
already cancelled here. I wonder if something more is going on.

Regardless, I agree that this shouldn't kill the selector thread, which breaks all the slaves
in one go. This change flags and reports the problem, kill the connection related to that key,
 then continue to serve other connections.