Eliminate use of child injectors

Change LifecycleInjector to optionally use a simulated child injector instead of a real Guice child injector. Using Guice child injectors has unwanted side effects. It also makes some patterns (e.g. injecting the Injector) difficult.