CLOG environment variable

This patch adds a `clog_setup_logging` function, which programs can use
to create and register a logging handler with useful defaults.  The
default handler can be configured via environment variables.  Right now,
we only support one.  `CLOG` can be set to the name of a logging level,
and that will be used as the minimum logging level for the process.
CLOG_FORMAT environment variable

When using the default log handler, the user can set the `CLOG_FORMAT`
environment variable to override the format string used to render each
log message.  We still have the `clog_set_default_format` function so
that programs can provide their own default formats, which will be used
if the `CLOG_FORMAT` variable is not set.  (This can be useful if a
program uses annotation tags that should be included in the default log
format, for instance.)
Filter by channel name

This patch adds a new builtin log handler that filters log messages by
their channel name.  It's a “keep” channel, not a “drop” channel: you
specify which channel names you want to be processed.  Log messages that
have any other channel are silently dropped.

You can also set the `CLOG_CHANNELS` environment variable to have the
default logging setup register a filter handler for you.
Merge branch 'feature/logging' into develop

* feature/logging:
  Filter by channel name
  CLOG_FORMAT environment variable
  CLOG environment variable