AutoInit post-construction callback

Adding the ability for ContextMember types to expose a method called AutoInit which will be called when the type is constructed and shared_from_this will be valid, but before the type is injected in the context.

This is a good time to perform construction operations that require shared_from_this.  As with standard constructors, throwing an exception from AutoInit will prevent the introduction of the type into the context.