Rename logname.generate to expander.expand

logname.generate was way to specific to its original use, despite its
highly generic functionality.
Add %a and %h to core string expander

%a is expanded to appName and %h to hostname, assuming those keys exist
on the worker object given to the expander.

Parameters that are not provided should be ignored and not substituted.
Generate useful default scope for statsd metrics

Default is "%a.%h.%w" using the builtin string expander.
 * appName (%a) comes from strong-agent (agent.config.appName)
 * hostname (%h) comes from strong-agent (agnet.config.hostname)
 * workerId (%w) comes from strong-supervisor's clustering support

SLN-1186 #resolves
logger: only use log transformer in clustered mode

There is no sane way to redirect the stdout/stderr of the current
process in node and that is where apps will log to when not clustered.
Since we cannot process the stdout/stderr of the app to add timestamps
and other tagging, we should disable our own log line prefixing for the
sake of consistency.

SLN-1060 - log cleanup
cluster: use 0 as cluster master's worker id

Make the worker stamping more regular by using worker:0 instead of
worker:supervisor. The clustering support already specifies that 0 is
the predefined "worker" id of the cluster master process and carrying
that into the log output will make it easier to parse and process.

SLN-1060 - log cleanup