check return value of zmq_socket

I reverted the commit where I played around with passing an optional context to zmq.socket().
Also, throwing an uncaught C++ exception never printed the error message to my terminal so I just use fprint(stderr, ...) and exit.
Killing the entire node process and printing to stderr are not a reasonable ways to deal with the inability to create a socket. Not in Node.js anyway. There must be a better way, no?