Restrict minitest to 5.x.

We're not sure yet what minitest 6.x will entail. So we're locking the
gem to a 5.x version.
Include feature spec on desired behavior.

Mark feature as `@wip` so it doesn't fail the build while the feature is
being implemented.
Replace `stdlib` with `minitest` & `test_unit`.

- Remove support for the `stdlib` expectation framework
- Include `test_unit`
- Include `minitest`
- In specs treat previous `stdlib` as `minitest`
- Attempt to require the 'minitest' gem
  - Supports minitest with Ruby 1.8.7
  - Supports minitest 5.x which is not part of stdlib
Remove wip tag.
Add cuke with test/unit and minitest used together
Handle test/unit loading minitest in some cases.

The whole minitest and test/unit loading is a bit complex. It depends
greatly on which Ruby version is being used, and if either the
'test_unit' or 'minitest' gems are available.

The newer Ruby versions (1.9+) use test/unit as a light shim around
minitest. Due to this, they load minitest when test/unit is loaded. This
means we should add the new `assertions` accessors when `:test_unit` is
specified.

However, if either Ruby 1.8 is used or the 'test_unit' gem was loaded,
'minitest' will not be loaded. In these situations we should not be
adding the accessor.
Add support for the minitest + test/unit combos.

RSpec 3.x does not provide explicit support for Minitest 4.x. However,
due to differences in `require` paths, we do provide a fallback option
in the case it is used. We are not in the business of dictating which
versions our users should or should not use, nor on how they setup their
load paths (i.e. bundler or other methods).

There are a lot of subtle issues with the different combinations of
versions of Ruby + test/unit + minitest. These can cause load and name
errors.

- Update the features to specifically check for our desired assertion
  errors; instead of allowing failures due to `NameError` or `LoadError`
- Update the test/unit and minitest adapters to include fallback logic
  when different combinations occur
Note behavior change in changelog.
Merge pull request #1466 from rspec/split-expect_with-stdlib

Split `expect_with :stdlib` into `expect_with :test_unit` and `expect_with :minitest`
Ensure standalone inclusions don't clear exclusions

Fixes #1484

Standalone inclusions still need to allow for exclusions
Move if/unless specs to a more appropriate location

The Configuration specs were too closely tied to
the implementation of the filter manager, so this
step is allow for changes in the underlying impl
without losing coverage of the expected behavior.
Combine inclusion/exclusion filter shared behavior
Treat if/unless as unchangeable behavior of ExclusionFilter
Add feature covering if/unless always working