Add hookpoints in Cucumber and GuiceFactory

Use case: Create a subclass of Cucumber that creates a subclass of
GuiceFactory that creates an injector that has the injector of the
application being tested as its parent.
That way:
* The application stays in control of its own lifecycle (it can create its
   own injector), but steps are still scoped by scenario.
* Step classes can get injected by dependencies from the application
* The application's injector can be created once and shared between
   multiple scenarios to improve performance