Cleanup test tasks in Rakefile
Avoid Ruby 1.9.2 syntax warning
Remove the rspec-1 submodule

It costs us ~3s in each CI build, its hook in cucumber is clunky, the
test that is supposed to assert compatibility with RSpec 1 is broken,
and I think we could drop support for something that's almost 5 years old.
Skip Bundler and Rubygems while executing ruby scripts in cukes

Speeds up subprocess execution by preparing the LOAD_PATH for nested
interpreter invocations. Some attempt to do this existed previously but
it wasn't efficent and did rely on Rubygems nevertheless.

Bundler is only used for subprocesses that need to invoke gem binstubs
such as `cucumber` and `rspec`. Such cukes are tagged "@with-bundler".
Speed up cukes by having Aruba wait less for IO

The default was 100 ms. Leave that default for JRuby.
Avoid Cucumber deprecation notice
Reimplement test server for simplicity

- No need to detect available ports. WEBrick will do that for us if we
  pass `:Port => 0`.
- No need to start our own thread. WEBrick will do that with
  `:ServerType => Thread`.
- Improve the "Identify" process by verifying (via `app.object_id`) that
  the instance responding is the exact one that we started.
Randomize test server ports in cukes

Previously, cukes typically used ports 7777 and 8888 for spinning up the
Sinatra test server. This would fail when the user already has something
running on one of these ports, like Charles proxy which typically runs
on 8888.

Now the ports are randomized and picked based on availability. This also
means that there is no chance of port collisions in the condition when
one subprocess is shutting down a server while the other is starting a
new one.