Match less explicitly to avoid Ruby 2.1.0+ bug

See https://bugs.ruby-lang.org/issues/9285 for more details.
Add explicity ruby 2.1 support

Various parts of the backtrace rewriting code require an explicit
version of Ruby to be set, which requires hard coding for every minor
Ruby release.

Going forward we should reverse the check in `instance_exec.rb` to
target older ruby versions not newer ones
Filter new backtrace paths for Ruby 2.1+

With Ruby 2.1+ the timeout code has changed, so you get additional
lines appearing when Cucumber features fail due to a timeout exception:

``` ruby
Timed out calling wire server with message 'invoke' (Timeout::Error)
/Users/chris/.rbenv/versions/2.1.0/lib/ruby/2.1.0/timeout.rb:82:in `block in timeout'
/Users/chris/.rbenv/versions/2.1.0/lib/ruby/2.1.0/timeout.rb:70:in `catch'
/Users/chris/.rbenv/versions/2.1.0/lib/ruby/2.1.0/timeout.rb:70:in `timeout'
```

This change adds `lib/ruby` to the list of filtered backtraces to
prevent this showing, which should only ever target system code.
Fixing syntax error
Merge remote-tracking branch 'origin/ruby-2-1-avoid-ruby-bug-9285' into ruby-2-1-support
Merge remote-tracking branch 'origin/ruby-2-1-filter-new-trace-paths' into ruby-2-1-support