MultiLogger becomes ArtifactorLoggerAdapter

Trying to do normal things with utils.log.logger, I discovered that it was
not actually a logger, nor did it pretend to be. As a result, I replaced
utils.log.logger with a LoggerAdapter instance, which implements (albeit
verbosely) the entire public logger interface (probably... :D) while still
doing its job of passing log messages back to the artifactor via fire_hook.
soft_assert uses utils.log's nth_frame_info