Refactor the socket classes. All sockets have the same methods, and all inhert from same set of interfaces.
Change the name of the BaseSocket to NetMQSocket.

Change the name of the Context to NetMQContext.
The subscribe and unsubscribe methods are now part of the NetMQSocket
Refactoring of the high level implemtation.

* More like clrzmq
* Timers are now objects and not just id
* Timers has intervals
* Remove the ISocket interfaces, now only NetMQSocket is exist forl all sockets type, like clrzmq
fix from libzmq:

Improve accuracy of time calculations and avoid division by zero when
ticksPerSecond.QuadPart < 1000000.

https://github.com/zeromq/libzmq/commit/1e52a451d68bd274635d7338f114ff708bc0294f
Monitor events are now working with native Socket and not IntPtr of the underlying socket handle. Easier to use in .net environments.
add the message feature to netmq
Merge branch 'master' of https://github.com/somdoron/netmq
add tests to new Message feature
Refactoring poller to like zloop from the czmq.

the code is much simpler now.
Merge pull request #47 from somdoron/master

Refactoring of the Higher Level implementation to be like clrzmq and czmq.