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.
Merge branch 'master-pullreq' of https://github.com/soplwang/zeromq.node into soplwang-master-pullreq

Conflicts:
	binding.cc
	lib/index.js
	test/test.exports.js
Fixed #276
Merge pull request #277 from kkoopa/hwm

Fixed high water mark