Reference a properly-cased RSpec module.

Tired of seeing these errors in these test cases.

    DEPRECATION WARNING: you are using a deprecated constant that will
    be removed from a future version of RSpec.

    /home/tyler/.rvm/gems/ree-1.8.7-2011.12@sauce_ruby/gems/rspec-core-2.9.0/lib/rspec/core/hooks.rb:24:in `call'

    * Rspec is deprecated.
    * RSpec is the new top-level module in RSpec-2
Clean-up these silly requires by pushing the lib dir into the front of our load path
Re-organizing the rspec tree
Add ruby-debug to our development group
Refactor the Cucumber hooks into module functions to be a bit easier to test.

In order to test these things effectively, we need to pull in some magic code
straight from the cucumber code-base itself.

As far as I can tell, this is the only "reasonable" way to test hooks or things
of that ilk because of the tendency for "cucumber magic" to happen inside of a
weird global 'World' scope

I could just be misunderstanding all of this though.
Add a best-effort retry to the Cucumber Around('@selenium') hook to mitigate Selenium UnknownError exceptions

This took a while, is ugly as sin, and will cause your nose to bleed if you
look at it too long.

The basic gist of how/why we have to do these things is:

    * Cucumber::AST::Scenario, Step and StepCollection don't like to be run
      multiple times. In order to acheive a "sane" retry we need to
      re-initialize the Scenario on each retry in order to instantiate new
      underlying Step/StepCollection/StepInvocation objects
    * Exceptions are actually swallowed up by the Cucumber::AST::Scenario in
      order to be reported properly later, so we must fish the exception out of
      the Scenario in order to tell if we need to retry
    * Selenium::WebDriver aliases UnhandledError to UnknownError, which fubars
      any ability to run `e.is_a? Selenium::WebDriver::Errors::UnhandledError`.
      That said, I think we might find other retryable errors in the future so
      this forced the approach used to be extendable.

I know more than I ever wanted to know about Cucumber::Ast thanks to this bug

Fixes #62
Need cucumber to run the tests nowadays
Handle running the Around hook with Scenario Outlines

Fixes #66
Add the beginnings of a fully wrapped and retryable Capybara driver

In theory this should help with #67, but it's terribly painful to unit test
and I'm not sure I'll really know if this is working until I put it into production :-/
Add actual retry logic to #handle_retry

This will make #67 actually work, presuming the #base_find actually works
Remove the broken Cucumber scenario retry code

Fixes #67
Refactor the RetryableDriver code up into Sauce::Capybara::Driver

This way the retryable functionality will be enabled by default, and hopefully
the "standard" driver used will be very reliable!
Stub out the remainder of the Capybara::Driver::Base API that will likely access Selenium

This might not be the comprehensive list, but it covers the APIs that are
covered by the Capybara::Driver::Selenium class

Fixes #67
Move a comment into a more relevant location inside of the Around hook
Push some Jenkins and Scenario related information to Sauce Labs after a Scenario completes

Fixes #69
Add useful job meta-data in the Cucumber Around hook for the All Tests page

This required some minor changes in Sauce::Job which should not impact anything
else, as far as I can tell.

This also lacks decent tests, partially because I'm lazy, and partially because I used
the Lookout code-base as a guinea pig (since we already have this functionality there)

Fixes #69

Properly handle formatting Scenario Outlines when executing tests with Jenkins

We need to format the name slightly differently for Jenkins integration
purposes, there's no good tests here because I'm lazy and had a reproduction
case in the Lookout code base. I will regret this.
Allow SAUCE_DISABLE_RETRY env variable to disable Capybara retrying

This should help @santiycr and I debug errors in the Sauce service itself
better heroku support
Merge pull request #71 from jodell/heroku-improvements

better heroku support