Add -p switch to runner.rb for running UI tests in parallel

Usage: `./runner.rb -p 3` will run UI tests 3 at a time.

I renamed all global variables to $name to differentiate them and put the thread-unsafe code inside a synchronized mutex.  Keep an eye out for any thread-unsafe code I may have missed.

`Open3.popen2` is needed because `$?` won't be thread-safe when multiple cucumber processes are running in parallel.

![screen shot 2014-11-14 at 5 14 21 pm](https://cloud.githubusercontent.com/assets/413693/5055939/c15c0514-6c21-11e4-90b7-ab0c0c285cb9.png)
Out of curiosity, is this line where the bulk of the cucumber process execution happens? (i.e., where a debug stepper would highlight and wait during execution)