Refactored around SInjector and added IoCCoreRegister
No quite nicely you can do the following.

At Runtime automatically discover the types implementing
IRunAtStartUp. (These should be bootstrappers)

Call their ExecuteOnStartUp methods

Which uses a configurator on a specific
implementation of a BaseRegistry in order
to discover and add types defined in the registry to a IoCCoreRegister classes
_coreTypeRegistry List singleton.

The _coreTypeRegistry  will be used to copy over the mappings when you use
the injector class to resolve a type.
Refactored again removing the ridiculous naming scheme.
and renamed folders accordingly.