Allow users to filter subdirs of their current dir.

This also greatly simplifies the backtrace formatter;
the system_exclusion_patterns approach made it more
complicated, as did always having an inclusion_pattern.

We only need the current directory as an inclusion_pattern
when it matches one of the built-in exclusion patterns.

Note that this was the approach that we originally had in #843;
it got lost in the refactoring in #1062 (af0b271c92ad2a3336eb70be7bf2c0de4325a568).
While it seemed like a simpler approach to always put the current dir
in the inclusion_patterns, in practice, this caused a sequence
of whack-a-mole regressions:

- #1328 (fixed by #1329)
- #1604 (fixed by #1616)
- #1705 (fixed by this commit)

I'm hopeful that returning to only including the current dir
in `inclusion_patterns` if it matches a built-in exclusion pattern
will solve these issues once and for all.
Extract sandboxing logic into a separate file.

The formatting specs rely on a particular expected
backtrace, which depends on which lines in particular
bits of the sandboxing code are on. Before, changes
to `spec_helper` would require updating the formatting
support expected backtraces. This change will isolate it.
Address ruby warnings from spec files.

For rspec/rspec-support#106.
Make the appropriate specs pending.

When running against rspec/rspec-support#106,
the warnings are only triggered for particular
cases that we can’t easily solve, so only pend
those specific specs.
Merge pull request #1683 from rspec/fix-spec-warnings

Fix spec warnings
Fix `subject` for `describe nil` and `describe false`.

Before, these were returning the string forms.

Fixes rspec/rspec-expectations#653.
Merge pull request #1710 from rspec/fix-describe-nil-or-false

Fix `subject` for `describe nil` and `describe false`.
changelog for #1710
Merge pull request #1708 from rspec/fix-1705

Allow users to filter subdirs of their current dir.
Forwardport 3.1.4 release notes.

[ci skip]
switches from our private `windows_os?` method to the one in RSpec::Support
JRuby 2.0.0 currently produces no warning, but this mode is still experimental, so skip instead.
Merge pull request #1715 from rspec/update_warnings

JRuby 2.0.0 currently produces no warning
Merge pull request #1714 from rspec/switch_core_to_use_os_support

Tidy up windows support.
returning command failure message only when in verbose mode
Merge pull request #1704 from bsnape/rake-task-verbosity-fix

returning Rake task command failure message only when in verbose mode
Add changelog for #1704.
Prefer `allow` over `expect` for these specs.

The focus of these specs is on the output, not
the fact that `exit` is called.
This spec is focused on the `exit` behavior, not output behavior.
Merge pull request #1716 from rspec/pr-1704-followups

Pr 1704 followups