Log aggregation/tagging from workers through supervisor

The `--log` option no longer depends on `--detach` and now supports basic template support via %w for worker id and %p for process ID, as in `--log myapp-%w.%p.log`.

The supervisor will close/open the log file(s) when it receives `SIGUSR2`, allowing for log rotation via logrotated or similar.

All log lines are prefixed with <timestamp> pid:%p worker:%w using strongloop/strong-log-transformer#1.

I'd like to add flags for controlling JSON formatting and line prefixes in a future PR if possible so that this one doesn't drag out too long. Syslog support makes more sense as a separate PR after this one.

R=@sam-github
Can we remove this, and only keep the `isPerWorker == true` code path? I think so, and that it would be simpler. If we can't, because (for example) having multiple fs writeStreams open on the same file path causes problems, then those problems exist even with the isPerWorker, because the template could be `slr --log 'some%%file.log'. In this case, you might need a reference counting singleton registry of loggers per filename... I'm just not sure whether fs write streams in append mode can be set into line buffered mode, so even though the file is opened in append mode, fast simultaneous logging on multiple fds open with O_APPEND on the same file could intermix partial lines from the two append (node) streams.

Comments, @bnoordhuis?