Log each use of AutoBindSingleton

Get rid of module replacement, after some discussion this feature was
deemed to complex and error prone.
Add OverrideAllDuplicateBindings feature (enables via
withModuleTransformer) that makes it so any module in the list of
modules can override bindings in the previous module.  This feature is
optional and does not provide any error/warning about overridden
bindings.  That will be supported in a future version.