Reduction of ObjectFactory footprint (related to #53)

- Kept Container and basic GetInstance methods for convenience
- Rewritten tests to access ObjFac.Container
- Removed DefaultProfile from IInitializationExpression and a related test
  because nobody seemed to use the getter internally and the property is
  defined on an interface that the user doesn't touch a lot.
- Slight ugliness in DoctorRunner making a cast to PluginGraph, but since all the Diagnostic thing gets an overhaul I suppose one can live with that for now.