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
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
Merge pull request #255 from kkoopa/master

Update for v0.11.9
added exception if used when disabled. and modify test to bypass if disabled to avoid exception. removed stray bind.
support consistent monitoring with zmq3 and 4
fix and test again with Travis
only on fail
force rebuild of travis, clerify comment