Fix for bug 1354231.

Perviously, our driver uses NULL, which value is actually 0,
for socket descriptor validation.
POSIX actually allows 0 for a valid socket descriptor.
Thus when the app closes stdin, of which descriptor is 0,
the 1st socket created will use 0 as its descriptor.
The correct behavior is use -1 as invalid descriptor check.
New code initializes the m_hSocket with INVALID_SOCKET(defined
in unix_extra.h, which value is -1),
and as well reset to this value when the socket is closed.

Change-Id: I2f1455d2a107c55da2225313e990f811131a2183
Merge "Fix for bug 1354231."