Add an actual integration test for RSpec 2
Refactor MiniTest integration test
Refactor Test::Unit 2 integration test
Rewrite spec runner

The new spec runner runs every test suite within its own Ruby instance to
guarantee that only the gems that are necessary for that suite will be required
within that instance. This comes in handy especially when running Test::Unit 1
tests.
Automatic autohook
Remove ArgumentEqualityError as it isn't used anywhere
Make the classes of errors that RR generates substitutable

This is valuable for the Test::Unit and MiniTest adapters. We can't use our
error classes otherwise our errors appear as, well, errors within tests, instead
of failures as we would actually like them to appear.
RR errors now come through as failures in MiniTest and Test::Unit tests
Fix Test::Unit adapters to ensure teardown is run if RR.verify borks
Define adapter run order manually

We have to do this because we will have to run through the adapters in a
different order from how they are required.
Tweak autohook so if multiple adapters run if they apply instead of just one
Add Test::Unit 2 / ActiveSupport adapter
Add tests for Test::Unit / Rails integration
(Re)set globals on test setup, not on adapter load

One of these globals is overridden_error_class. It is important to delay setting
this because when we come to add the MiniTest / ActiveSupport adapter
(upcoming), it *and* the MiniTest adapter will actually have been loaded, and we
need to set different error classes in each case, and since the MiniTest adapter
will load later, it will clobber the other one.
Add a MiniTest / ActiveSupport adapter