When a socket is dead, set it's state to EOL, not REMOVE_NOW

And for the readers / writers, refuse to do anything to the
socket if it's state is something other than KNOWN
Remove FDs from the FD list at EOL
Fix error message
Ensure we set packet->proto for packets to home servers