Fixed: Removed compiler warnings.

Last 3 are in NetMQ.zmq.PgmSender and are annotated for review.
Added the proposed changes from reviewed Pullreq.

Compiles cleanly now.
Merge pull request #65 from almazik/master

Lazy implementation of receiving all messages
Merge pull request #56 from tobi-tobsen/refactoring_RemoveWarnings

Fixed: Removed compiler warnings
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
change the result variable to variable with meaningful name.
Merge pull request #67 from somdoron/again_exception

change the result variable to variable with meaningful name.
Extracted Send and SendMore overloads as extension methods for IOutgoingSocket
Created IReceivingSocket interface as a declaration of socket able to receive messages, and extracted Receive/ReceiveString overloads as extension methods to IReceivingSocket interface
Updated ReceiveAll/ReceiveMessages extension methods to extend IReceivingSocket instead of NetMQSocket
Removed excessive method overloads in favor of optional parameters
Moved ReceiveMessage methods to extension methods class
Merge pull request #68 from almazik/feature/reduce_overloads

Reduced the number of overloads defined on NetMQSocket class
Private delegates where incorrectly marked as events
replaced bitwise operation with more readable Enum.HasFlag() call