Fork detection before binding the socket.

In case fork happens before s.bind, we will run into an address in use error.

This fix will alleviate the problem, but it is still less than ideal. -- what if a fork happens before s.bind? 
same applies to the detection before s.recv().

This is related to Issue #440 and Issue #439.
Can this condition ever happen? Fork was just checked prior to creating the socket.