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
Add missing test for #have_received to RSpec 1 adapter 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