Rearrange mocking adapters.

* Use a different module name for each adapter.
* Name the files based on the module name.

This is a stepping stone towards supporting the user
of multiple mocking adapters -- see #683.
For more background, see these gists:

* https://gist.github.com/myronmarston/5584693
* https://gist.github.com/jimweirich/3738752
Stop supporting `mock_with <string>`.

Instead require the exact symbol we expect.
This greatly simplifies the code.
Label the mock adapter modules as being private.
Raise an error when given an unrecognized mock_with option.

Silent failure is evil. The `:nothing` option is still
supported, as documented.
I prefer `::` to `.` for message sends.
Include RSpec::Mocks::ExampleMethods in the adapter.

Before now, that module has been included in the
singleton class of each example's evaluation
context (e.g. an example group instance) via
`RSpec::Mocks.setup`.  That approach has some issues,
though:

* It blows away MRI's method cache unnecessarily.
  Far better to include the module only once.
* It prevents users from overriding RSpec::Mocks::ArgumentMatchers
  methods with a `let` declaration (see https://github.com/rspec/rspec-mocks/issues/102).

We still need to remove it from rspec-mocks' `setup`
method but this is a step towards that.
Fix for 1.8.7.

Ruby 1.9 provides Symbol#downcase but 1.8 doesn't.
No need to test the configuration.

As pointed out by Xavier:

https://github.com/rspec/rspec-core/commit/2d6a20c2ca46f05e5338285fc3ebee7c1e18761e#commitcomment-4620279
Add changelog entry.
Merge pull request #1188 from rspec/fix-mock-adapters

Fix mock adapters