change the implementation of SocketBase.XRecv to return boolean instead of the message in order to not throw again exception.

Instead of throwning AgainException (which was thrown too much) only the Recv method throw the AgainException to the user, other internal methods return boolean indicate if the operation succeed.
change the implementation of the XSend as well. Now returning a boolean and return false instead of throwing Again Exception
Merge pull request #66 from somdoron/again_exception

Again exception fixes issue #57 too many exceptions