cleaned up zmq_proxy() for travis

cleaning up my earlier PR by attempting to fix travis tests. note that libzmq API support for proxying xpub/xsub came out in v3. 

The function in JS now supports API characteristics of native zmq_proxy() function. So this new method would go something like:

```js
var zmq = require('zmq');

var xsub = zmq.socket('xsub');
xsub.bindSync('tcp://*:5556');

var xpub = zmq.socket('xpub');
xpub.bindSync('tcp://*:5555');

var pub = zmq.socket('pub');
pub.bindSync('tcp://*:5554');

zmq.proxy(xpub, xsub, pub);
```

Written with support for a few useful socket combos `pull/push`, `xpub/xsub`, `router-dealer` and we could always just drop in support for other combos like I was thinking maybe proxying `pair/pair`.

also it throws an error when you don't get xpub/xsub supported socket order right. Strictly following the libzmq API would just fail silently in this case, I think, so that may slightly diverge from its native library counterpart.
I appreciate you're trying to keep things compact, but whitespace is not your enemy :)
Feel free to add a little bit of whitespace, perhaps even newlines, to make this a bit more readable (to me, at least).
Try to follow the style of the rest of this file.