Move deprecated constants to a separate module
Move RR::Adapters::RRMethods to RR::DSL

This makes more sense, as RRMethods isn't really an adapter of any kind, it's
just the base set of methods that get mixed into a test case.
Remove "spies" test as it already exists in the RSpec tests
Remove unnecessary test for RSpec #have_received

This is already repeated in the adapter integration tests.
Completely rewrite the functional tests

These are the higher-level tests that ensure that things like stub(),
mock(), etc. are working correctly, as well as combinations such as
mock.strong, mock.proxy, mock.instance_of, etc. These tests weren't that
good and so this commit attempts to make them better (at the expense of
complexity).
Fix #spy so that it does not track #inspect

Say you have something like:

  object = Object.new
  spy(object)
  expect(object).not_to have_received.inspect

Here, `inspect` is being tracked, so if it is called, then RR will
record that it was invoked (using RR::Space.instance#record_call). This
is all well and good except that if the verification fails, we go
through the recorded calls and call #inspect on each one. This in turn
causes #inspect to get called on the object, which calls
RR::Space.instance#record_call, which adds an item to the list of
recorded calls, which means #inspect will get called on the object
again, which adds one more item to the recorded calls, which... you get
the idea.
Add remaining tests for #spy
Sort spec/support files before requiring them

This is to ensure that constants which are referenced in support files
have already been loaded.
Fix using RSpec's RR adapter to not override our RSpec adapter

It looks like requiring 'rr' and then using `mock_with :rr` made it so
that the have_received matcher we supply was no longer available.
This is because when our adapter loads, it tells RSpec to `mock_with`
our own module, which really tells RSpec to mix in our module into
describe blocks, when they are created. Saying `mock_with :rr` replaces
our module with RSpec's own module, which does not have_received, so
this method is no longer available in describe blocks.
Update changelog [ci skip]