Return all fields of the body

Let JS code interpret it as message, signature, etc. For ACKs it's something
else.
We only ever got one SERVACK

Multiple HMACKs come in, but only with a patched libzephyr. See
https://github.com/davidben/zephyr/commit/105d20869624bafab6ddcf11868e51e0d6e4c3fb
Punt unused global
Use std::string for more RAII
Take a list of strings as API rather than message/signature
Rename message to notice

At least for the low-level API since this gives backs ACKs and the like.
Perhaps zephyr.js can provide something higher-level too for sanity.
Drop g_port global variable

We can just use 0 everywhere.
Remove debug statement

The ACK handling seems to work now.
Punt ZRetriveSubscriptions binding

This one will be tricky to make non-blocking and we probably don't need it.
Put everything in an anonymous namespace

namespace node_zephyr ? I guess while we're still a single file... I really
don't even know what kind of visibility these things get built with.
Move C++ code to src/

If we have multiple files, good to separate them.
Remove THROW macro

It's fairly trivial.
UpperCamelCase some functions

Meh.
Get rid of fake-asynchronous ZSubscribeTo

We'll make it actually asynchronous later. Current plan isn't going to involve
libuv and the like.
Don't reverse-resolve the IP in C++

If the client wants to reverse-resolve, we can use node's built-in asynchronous
one.
Remove trailing whitespace
Create a bunch of persistent symbols
Use new symbols in Init
Use the proper prototype for Init
Style