Remove listener limit on supervisor's log stream

Each worker adds 6 listeners to the supervisor's LogWriter when their
logs are fed through the supervisor's stdout. When the maximum number
of listeners (default 10) is exceeded warnings are printed to the
console.
Support SIGHUP cluster restarting when undetached.

strong-deploy doesn't run sl-run "detached", it runs it as a direct
child process, as will an upstart job. SIGHUP needs to be supported all
the time, not just in detached mode (which I with strong-supervisor)
didn't have, anyhow, and would like to remove.
Load environment from app's .env file, if present.
Update logging documentation to current behaviour.
more pipes, less mistakes

Upgrade strong-log-transformer to a more pipe-able version. Using
the .pipe() interface is less error prone than mimicing .pipe().
Simplify LogWriter by making it a PassThrough

Allows the use of pipe internally which is safer than wrapping writes
to this.sink.
Add support for '| cmd' as log name for piping

Create a child process as described by the log parameter following the
leading '|' and write all log events to that process's stdin stream.

The command name supports %p and %w replacement for per-worker logging.

If per-worker substitutions are made, each worker gets its own logger
process. If the command does not use per-worker substitutions, all
workers and the supervisor share the same logger process.
Allow worker log timestamps to be disabled

If the app's log output is already timestamped in-app then it is
harmful to prepend and additional timetamp.
Allow supervisor log timestamps to be disabled

If the log output is being piped through a timestamping log forwarder
then it is harmful to double timestamp log lines.

logger(1), a standard CLI wrapper for syslog(3), is an example of a
log forwarder that adds timestamps.
Add --syslog option for direct syslog logging

When node-syslog can be loaded, the --syslog CLI flag enables syslog
logging for the supervisor and the workers. If node-syslog cannot be
loaded, the option is not listed in the help message and is ignored if
used.

In this mode, log line timestamping is suppressed because it is handled
by syslog(3).

Log messages from worker stderr are logged as LOG_CRIT while log lines
originating from stdout are logged as LOG_NOTICE.

Note for testing/debugging that Darwin defaults to only log LOG_NOTICE
and higher to disk.
Pass supervisor logger to strong-agent

Allows strong-agent log messages to be captured along with the rest
of the supervisor's log messages.
Setup logging before clustering

Allow more log messages to be captured by making the logger available
as soon as its configuration has been determined.
Log notice about non-clustered mode to stdout
Record supervisor start/stop/restart in log

Messages will go to stdout unless --log or --syslog are specified.
Update README with logging feature details
Advise against using --detach in production
Describe --log option as cluster mode option

Proper logging requires cluster mode, even if it means using a single
worker.
Update command usage in README.md
Fix log rotation

Typo introduced by all the rebasing :-(
version: include strong-agent, cluster-control

Its important to know the strong-agent and strong-cluster-control
versions when reporting bugs, so report them.