mon: LogMonitor: write log messages on a per-channel basis

Instead of dumping everything to the same log file, let us this way
allow a user to specify per-channel log files, levels and syslog
facilities.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
mon: LogMonitor: observe config changes

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
mon: LogMonitor: expand meta variables at time-of-call

Instead of expanding it when we updated config options, as that would be
nothing but trouble.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
mon: LogMonitor: debug update_from_paxos

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
osd/mds/monc: Adjust for LogClient/LogChannel usage

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
test: common: test_config: whitelist '$channel' meta-variable

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
FIXUP: mon: observe config changes

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
FIXUP: LogMonitor: remove commented block

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
FIXUP: mon: Monitor: fix segfault when accessing dropped connection

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
osd: OSD: init clog on ctor so that OSDService gets a proper reference

Otherwise mayhem would ensue, as we would init OSDService's clog
LogChannelRef with an empty ref and, not being a pointer itself, even
though we would init the OSD's clog just after it, the OSDService's
would never be assigned a proper reference.  And that would be
unfortunate and lead to disaster.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>