extend and cleanup use of closesocket()

- always call closesocket() before printing any text (ensure consistent
  usage in the code)
- remove redundant checks for INVALID_SOCKET before calling closesocket()
  as this case is always handled in closesocket() anyway (also the socket
  is set to state INVALID_SOCKET there)
- add missing closesocket() calls for BindListenPort()
- add missing vhListenSocket.clear() to ~CNetCleanup()

changes in ConnectSocketDirectly() unrelated to closesocket()
- replace 3 following calls to WSAGetLastError() by storing result into
  nErr and use this in an if-clause
- convert an if() to an else if(), which removes an unneded check if the
  first case is true
That check could then perhaps be rewritten to?
<pre>
if (closesocket(hSocket) != WSAENOTSOCK)
    LogPrint("net", "disconnecting node %s\n", addrName);
</pre>