Starting of Tenancy, Trust and cont. of API

1. foundations for tenancy, a module should be able to be written
2. Introduction of a trust manager can be used for 2 things
2 a. controlled override-ing of boxes components
2 b. control of the modules which are discovered and loaded.
3. the extension model has been modified, extension points will be
provided via implementation of particular interfaces
4. introduction of a tiny internal IoC, this is an attempt to tidy up
some code
WIP: namespace changes, updated resoncibility

the internal IOC has less responcibility, moved to the extend boxes
task.