Filter bundle related lines from backtraces.

This cleans the backtraces shown for failing examples. Works with both RSpec 2 and RSpec 3 (and should degrade gracefully for RSpec 1).

Before:
    ./spec/controllers/people_controller_spec.rb:18 :in `block (3 levels) in <top (required)>'
    /Users/stefan/Library/Application Support/Avian/Bundles/RSpec.tmbundle/Support/lib/rspec/mate/runner.rb:61 :in `block in run'
    /Users/stefan/Library/Application Support/Avian/Bundles/RSpec.tmbundle/Support/lib/rspec/mate/runner.rb:58 :in `chdir'
    /Users/stefan/Library/Application Support/Avian/Bundles/RSpec.tmbundle/Support/lib/rspec/mate/runner.rb:58 :in `run'
    /Users/stefan/Library/Application Support/Avian/Bundles/RSpec.tmbundle/Support/lib/rspec/mate/runner.rb:18 :in `run_file'
    /tmp/textmate-command-60237.rb:3 :in `<main>'

After:
    ./spec/controllers/people_controller_spec.rb:18 :in `block (3 levels) in <top (required)>'
Improve exception handling in Runner#run

The `ensure`-block relies on `stderr` to be set, so this should be done at the very beginning.

Otherwise, exceptions raised in `rspec3?` trigger an “Undefined method `string' for nil:NilClass” error.
Refactor RSpec version detection

Move detection logic to new method `rspec_version`. Raise error if version can not be detected.

Also change `rspec2?` to not return true for RSpec 3 (as this is a bit misleading unless the method is named something like `rspec2_or_newer?`).
Use rspec binstub if available.

Look for "bin/rspec" and use it, if present. This drastically improves RSpec’s start up time for projects using an application preloader like Spring (as long as the preloader generates a suitable binstub).

Note that the binstub is only used if there is a Gemfile present (otherwise it would not be possible to determine the RSpec version).
Fix clickable links for RSpec 3 (again)

This was first fixed in https://github.com/rspec/rspec-tmbundle/pull/69 for early beta versions of RSpec 3, but since then there have been changes in RSpec so that the original fix no longer works.

Fortunately, this fix is even simpler than the original version. Tested with RSpec 3.0.0.beta2, RSpec 3.0.0 and RSpec 3.0.3 (older versions are not affected from this change as they do not use `RSpec::Mate::Formatters:TextMate`).
 Fix deprecation (and formatter problem) in RSpec 2.14

RSpec 2.14 has both `backtrace_clean_patterns` and `backtrace_exclusion_patterns`. Using the former generates a deprecation message, which somehow also disables the textmate formatter.
Merge pull request #75 from die-antwort/use-binstub-if-present

Use binstub if present
Merge pull request #74 from die-antwort/filter-bundle-backtrace

Filter bundle related lines from backtraces.
Merge pull request #73 from die-antwort/fix-for-rspec3

Fix clickable links for RSpec 3 (again)
Fix spec description.
Fix #run_focussed for RSpec 3.

RSpec 3 dropped support for `--line 12`. Instead `path/to/spec.rb:12` has to be used.

This commit makes RSpec 3 happy while keeping the old behaviour for RSpec 2 and older.