Use type of int instead of uint64_t for ZMQ_SNDHWM and ZMQ_RCVHWM
Add support for zmq3.x TCP keepalive
Add `pending` property to indicates need ZMQ_POLLOUT

When use 'PUSH/PULL' type sockets, if SNDHWM exceeds, then `_flush()`
will not write the messages to underly zeromq socket but buffer them.
When underly socket queue became drain, we need `_flush` buffered
message. But current version doesn't do this...
Merge from soplwang/zeromq.node@220mod branch
Add unit-tests for pull request #174
Use TCP_KEEPALIVE_* constants instead of raw number.

And with improves on unit tests to consist of.
monitoring support refactoring fork by dr-fozzy with some improvments
and fixes. Still need to add test code.
added test function
added unmonitor method as a more sane way to release the idle handler and cleanup
Update for v0.11.9
Update binding.gyp
moved bind port used by other tests running concurrently
give the overloaded Travis servers more time
not bulding for zmq 3.1.0 - 3.2.0 missing zmq_event_t yet it is in zmq.h
Merge remote-tracking branch 'upstream/master' into monitor
Update for v0.11.9 #255
change test/run.js to report failing script name
Reverted socket locking, now unbinding won't work.
Restructured unbind test to better reflect the current implementation.
Local updates for 0.11.9