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)
Ah, good catch. You could abuse the process' exit status to denote pass/fail (versus actual error) like we do at the bottom of this file.