use enum retired_fd instead of -1

using -1 causes a warning on Windows platform because SOCKET is unsigned.
Updated news for #775
Merge pull request #43 from hintjens/master

Backporting fixes from master