Added optional deferred initialisation to ConfigurableMapper

Deferring intialisation to after constructor completes allows subclasses to capture their own constructor arguments before the MapperFacade is created, and therefore allow runtime control over the Mapper's behaviour (e.g. caller can pass in a list of config files to use as the basis of the initialisation).