Split log() into 2 methods: formatArgs() and log(), allowing log to be
overridden on a per-namespace or global level. Global log settings trump
per-namespace settings.
On Node.js, if you set a process.env field to either null or undefined,
it gets cast to string 'null' or 'undefined'.
For debug, this means that if you don't have DEBUG set, it will get set
to the string 'undefined'. There are other modules (like
node-rest-client) which use the DEBUG environment variable that will
start spewing debug output when you don't want it to.
This is a controversial change as well, but it seems to be
wanted by the community, and usability is more important to me
than looks, so why not…
Closes#47.
Closes#52.
Closes#87.