CompositeLogFactory - original #180 plus IDisposable support

needed for merge to latest