Building NPAPI on OS X from CMake.
Skeletal NPAPI plugin with logging.
Able to get a port number from JavaScript.
Some initial Docco.
Notes on persistent configuration.
Add Attendannt and launch Cubby.

Added the Attendant to the build. Launching Cubby using Attendant.
Read shutdown key and port from cubby server.
Orderly shutdown.
Serve Cubby IP address through JavaScript.
Launch and monitor Node.js.

You'll never remember what you went through to figure out that CMake was
not generating a universal binary, or rather, why Google Chrome refused
to load your plugin.

You can watch Google Chrome load its plugins.

    chrome --debug-plugin-loading > foo.txt 2>&1

It was using CFBundlePreflightExecutable to check to see if the plugin
bundle would load, and CFBundlePreflightExecutable was saying something
along the lines of.

    PluginLib::ReadWebPluginInfo bundle failed preflight: The bundle
    “Synapse Peer” couldn’t be loaded because it doesn’t contain a
    version for the current architecture.

`CMakeLists.txt` has been updated to produce a universal binary for
32bit and 64bin Intel Macs. The location of the directive matters. I'd
put it at first down with the `INSTALL` commands and it went unnoticed.

You'll recall when you wrote the `attendent` that you imagined that
someone unfamiliar with the reasoning behind it would find it very
fragile. Changing out one executable for another did illustrate how
brittle the code is, but I was able to recall, possibly by absorbing the
comments as I traced the code, all the many unknowns that the
`attendant` operates under.

It hung when the out-of-process server did not send a shutdown string
and port number through stdout, which was disheartening, but I do recall
saying that getting going was the tricky part. If the server is running,
and attendant is waiting on a port number or similar on standard out,
well, it's going to wait. If the server had crashed, then stdout would
be closed and recover would kick in.

I created `tracer.js`, a UDP server that listens for messages from the
plugin and writes them to standard out. Trying to debug with Xcode was
overwhelming. I plan on instrumenting the code, then hopefully I'll be
have the same sort of debug experience regardless of platform.

Not sure where `monitor.js` is going to live in the long term.

Closes #5.
Merge branch `node` into `npapi`.
Backoff incrementally on peer failure.

If the peer fails to start, back off incrementally, two seconds at
first, then double the wait time until you're at about 8 minutes.

Closes #16.
Merge branch `back-off` into `npapi`.
Whitespace tidy.

Closes #18.
Merge branch `whitespace-tidy` into `npapi`.
Moving `monitor.js` to `peer` branch.

See #20.
Merge branch `monitor` into `npapi`.
Create `monitor.js` place-holder.

Created a place-holder `monitor.js` for the sake of keeping the NPAPI
an independent module in theory. A better bet would be to make the
bootstrap program somehow configurable in the CMake build.

Closes #21.
Merge branch `monitor` into `npapi`.
Set executable bit on `node` and `relay`.

Set executable bit on `node` and `relay` from within plugin.

Closes #23.