Add better `inspect` output for ExampleGroup

Changing from defining a singleton method to storing the inspect output on the ExampleGroup

Add documentation for instance_variables and inspect

Handling string element in instance_variables for ruby 1.8

Removing un-needed expct calls in spec

Handling ExampleGroup without inspect output, handling ExampleGroup without a description, refactoring logic to ignore `@__inspect_output` when determining before context ivars

Improve readability of no inspect output spec and does not copy inspect output from before context to examples spec
Merge pull request #1687 from kcdragon/feature-better-inspect-output-for-example-group

Add better `inspect` output for ExampleGroup
Changelog for #1687.

[ci skip]
Fix another regression in rake task pattern handling.

Apparently `FileList[file_list_object]` works, and some
users used `task.pattern = FileList[…]`.

See https://github.com/rspec/rspec-core/commit/667a4ca00f50fddb3fca7cdfcaf97633ba267b1f#commitcomment-7725799
Normalize to absolute paths so that patterns work as expected.

This solves a problem where configuration treats dirname and ./dirname (and ./dirname and ././dirname, etc) as non-equivilant values, leading to unexpected bahvior when patterns are not consistently expressed. For example, given the pattern "spec/models/*_spec.rb" and an exclude_pattern "./spec/models/*", nothing would be excluded because of the spec ./spec mismatch.
Forwardport 3.1.3 release notes.

[ci skip]
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.