Relax requirements on Rails 3.0-3.2 Appraisals

Also, run `bundle update` on Appraisals.
Upgrade from Rails 4.0.0.rc1 to Rails 4.0.3
Extract, refactor test framework code

Add more tests to prove that under Rails we are actually integrating
with the correct test case classes.
Fix compatibility with Minitest 5 / Rails 4.1

* Rails 4.1 switched from MiniTest 4 to Minitest 5, and
  MiniTest::Unit::TestCase omits a warning under Minitest 5 (the correct
  constant to use now is Minitest::Test).
* Minitest will only run tests that start with 'test_'. This was a
  change from MiniTest 4, which allowed tests to start with 'test'. This
  means that tests defined with shoulda-context no longer get executed
  under MiniTest 5, because tests there start with "test:".