working pgm implementation.

still need to cleanup code. write tests, test with original zeromq openpgm and finish interface part of the address.
removed all pinvoke methods.

one new class added called OpCode to provide the RDTSC CPU instructions which give the timestamp of the CPU, this is very important for ZEROMQ performance.
the OpCode use native methods of windows and Mono.Posix on unix and linux platforms, on other platform this feature is not supported but the library should compile and work.
Merge branch 'master' of https://github.com/somdoron/netmq
Merge pull request #36 from somdoron/master

remove pinvoke, fix issue #34
pgm development completed. unit testing in place as well.

differences from zeromq pgm
* it uses ms-pgm (msmq pgm)
* loopback is supported (actually cannot be disabled)
* epgm is not supported (using epgm in the transport will use pgm)
add a test for large message
Merge pull request #37 from somdoron/PGM

Pgm completed. solve issue #9
Update README.md
add cancel socket to the poller
Update README.md
Update README.md
Update README.md
Merge pull request #41 from somdoron/Poller

add cancel socket to the poller
there was wrong calculation of ms to us, fixed that
Fixed the order of calling the events on the socket to match the order of ZeroMq.

Rare exception was thrown because of the different order, that is fixed now.
add the Timer feature to the high level implementation of the poller.
Merge pull request #43 from somdoron/Poller

Timer feature to high level poller, fixes #38
fixed  a bug in the router, when the peer is not exist exception was thrown instead of silent ingorning the message
fix from the original zeromq, releasing the sync object to avoid handle leak
fix from orginal zeromq, return eagain when pipe is full and madaory is set on a router