Always close sockets when defuncting connections

Under certain error conditions, this could result in an FD leak for the
socket handles.  (In my testing, they seemed to eventually be GC'ed and
closed, but this behavior is probably not dependable.)

Fixes #80