Renamed Clustermon to ClusterSupervisor internally

To make room for and be coherent with WorkerSupervisor and Worker going
forward.
Generalize path joining

A low-cost best practice to avoid building a hurdle to Windows support.
Remove log messages for mock instantiation

These messages do not participate in determining whether the mock server
was constructed automatically.
They are good for human verification, but will interfere with error
discovery going forward.
Decouple Node.js core cluster and supervisor

Hereafter, the supervisor will serve as the cluster interface.
Factor out stopAllWorkers

In anticipation of other *AllWorkers methods and delegating such
commands to each worker's own state machine.
At present, workers are whatever the Node.js cluster gives us.
ClusterSupervisor will replace the `cluster` module instance and
WorkerSupervisor will replace the `worker` instances therefrom.
Distinguish test scripts to other script assets

For example the mock server is not a test.
Other assets that should not be executed as tests forthcoming.
Update jshintrc to current norms
Support round robin connection distribution

This factors a worker supervisor out of the spawn worker method of a
cluster supervisor.
The worker supervisor will gain further responsibilities.

This removes usage of the existing, broken in v0.10, Node.js cluster
module.
The first responsibility of the new worker supervisor is to subsume the
responsibility for managing a child process, receiving requests to
accept connections, and forwarding those connections.

This change also introduces a round robin load balancer which manages
the pool of workers that are listening for connections on a particular
port or pipe.
The load balancer accepts connections on behalf of the worker and then
forwards each to one of the workers in turn.
Workers may enter and exit the ring as they go up and down.

Adds two minimal tests for cluster related behaviors, particularly round
robin over a plain socket server, and a verification that the HTTP stack
benefits from the subverted socket layer.
Addressed or tracked feedback from @raynos
Normalize package.json
Introduce worker supervisor state machine
Implement round robin load balancer state machine.

-   Load balancer now queues connections until a worker is available.
-   Add and remove workers to and from a load balancer depending on
    their state.
-   All constructors now accept a spec/options object.
-   Use events to send messages to the cluster supervisor that owns each
    worker supervisor and load balancer.
-   Implement server restart delay so the supervisor does not spin too
    fast on attempting to acquire an address.
-   Reorder the method order for interface first, implementation later.
-   Implement connection bouncing, for when a server stops listening
    before it receives connections from the cluster.  These connections
    are now redistributed or queued until a worker becomes available.
Implement remainder of server public interface

-   getConnections
-   ref
-   unref
Distinguish active and running workers

Since the tests are looking for actually running workers, whereas the
final standby state is looking for exactly standby workers.
Preliminary update for docs
Restart workers that fail a health check

-   Implement health checks
-   Implement health report timeout
-   Fix restart delay
-   Fix force stop
Introduce docco for code explanations
Factor state transitions into methods
Fix name collisions in previous.

Now start and thenStart, restart and thenRestart.
Name the stooges in the ad hoc testing scaffold