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)
These ENV variables are actually globals in disguise :frowning:.  I'll need to switch `:in_threads` to `:in_processes` and figure out how to convey success/failure from each process (processes can't write to global `$suite_success_count` and `$suite_fail_count`).

See: https://github.com/browserstack/automate-ruby-samples/commit/d9def39bb906eb24fc810c58dd9553409f9f68d2