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.
Works on 0.11.4+.
Merge upstream/master.
Corrected error message.
Merge remote-tracking branch 'upstream/master' into v0.11
Added unbind support.
Removed socket locking on bind.
Updated NAN
Merge branch 'v0.11' into unbind
Merge pull request #221 from kkoopa/v0.11

Patch for Node v0.11.4+
0.11.8+ support, deps: nan@0.4.4, bindings
Merge pull request #249 from rvagg/0.11.8

0.11.8+ support, deps: nan@0.4.4, bindings
Merge pull request #248 from utvara/master

handle received message immediately for receive only sockets to prevent memory leak in driver
Merge.
Merge pull request #232 from kkoopa/unbind

Unbind