Added DiContainer to InjectContext.  Added FactoryTyped<> class to allow dynamic objects to be created in a type-safe way.
Changed to automatically validate FactoryTyped classes.
Added test for FactoryTyped class