Be careful to delete only what was really created

Only set the globals for the tempdir and sockpath after each respective
resource has been created.  This solves the problem where failing to
bind "-a PATH" would still remove that path, which maybe someone else
created, or was not even a socket, etc.

Closes GH-17
Use SOCK_CLOEXEC on all relevant file descriptors

SOCK_CLOEXEC has been available since Cygwin 1.7.2, so use it on the
main socket and each accepted connection (now accept4).

Test: ssh-pageant ls -l /proc/self/fd