Reorganize to move away from the cluster setup for running things.

Now there's multiple gatekeeper proxy processes run on different ports,
rather than a multiple forked workers behind a single master process.
The ancillary processes (logging and config rebuilding) have also been
moved to separate processes, rather than forked workers.

The driving reason for this change is to allow for zero downtime
deploys. Previously, when the master process was restarted, it caused
all connections to drop. Now, assuming we have a load balancer in front
(which we do with nginx or haproxy), we can more easily achieve zero
downtime deploys if we restart each gatekeeper process in a rolling
fashion. There are ways to achieve zero downtime deploys internally with
node's cluster module (see recluster or naught), but those still don't
seem to account for complete binary upgrades (eg, when we actually need
to upgrade the version of node.js the master process is running under),
and since we do already have a proxy in front, using that seems easier.

Another benefit of these separate processes is that in the event of
hard failures, they are more isolated, since it will just bring down 1
process, rather than all of them.

The downside of this change is that running things is a little more
complex, since there's multiple processes to spin up, but we're using
supervisord inside the router project to coordinate all this, so it
seems manageable.