The PicoContainer instance can now be configured

By implementing your own PicoConfigurer (and pointing to it from
cucumber-picocontainer.properties) you can add arbitrary mappings to the
MutablePicoContainer instance.

Particularly useful if you want to have Step Defs or other classes
depend on an interface. The implementation to use can be mapped in your
custom PicoConfigurer.

This work is based on the custom Module support in cucumber-guice.
Extracted the run-once logic out of PicoFactory
Extracted out instantiation of a CustomPicoConfigurer

Simplifies PicoFactory, makes testing instantiation of the right configurer simpler.
Added instanceOf to matcher to keep compilers happy