Concurrent injection provider

Guice constructs dependencies serially which can cause the injectee to
take a very long time to initialize.  For top level applications this
process can be sped up substantially by parallelizing creating the
dependencies.  The following approach provides a custom Provider that
will construct dependencies in parallel and only once all dependencies
have been constructed will it create the object.  See
ConcurrentProvider.of for more details.
Allow top level application class in bootstrap to be a Guice Module
Fix typos
Bootstrap module dependency

Support for depending on specific modules in
LifecycleInjector.bootstrap().
Treat the class provided to bootstrap as an application class instead
of a module.  This will make it easier to implement post injector
creation code inside the application class, which is created using
Guice and can therefore inject anything.
Merge pull request #137 from elandau/master

Concurrent injection provider