adding debugger support
improved the robustness of the code that waits for the build to start
Coming up with a factory to launch Jenkins

... including an implementation that pre-launches Jenkins to speed up testing
Push the configuration of JENKINS_HOME down so that multiple controllers can be initialized concurrently.

 Updating the current environment can cause a race. Tomcat and JBoss controllers currently do not support cached prelaunch anyway because they assume a fixed CATALINA_HOME.
Capybara does not support concurrent use, so the code we use for prelaunch cannot touch it.
exposing the PRELAUNCH option.

The intent is to make this option work orthogonally with any
JenkinsController, but as it stands now it can only work with
WinstoneController.
Needs to share Gemfile.lock to ensure consistent environment
Revert "Bend Capybara to throw when `first` finder finds no element"

This reverts commit 5a8b77900ef364d551171d199fe53b09e5603ef3.
Fix env inject build step
Do not leek orphaned processes

In come environments java processes are left orpened as it is the wrapping sh proccess who reciews SIGTERM.

```
hudson   29290 26348  0 02:57 ?        00:00:00 sh -c java -jar jenkins-lts-rc.war --ajp13Port=-1 --controlPort=52848 --httpPort=52848 2>&1
hudson   29292 29290  0 02:57 ?        00:01:05 java -jar jenkins-lts-rc.war --ajp13Port=-1 --controlPort=52848 --httpPort=52848
```
becomes
```
hudson   29292     1  0 02:57 ?        00:01:05 java -jar jenkins-lts-rc.war --ajp13Port=-1 --controlPort=52848 --httpPort=52848
```