Cleaned up a huge amount of duplicated and/or unused code in the test
extensions and helpers.  Also ensured that all unit, function and integration
tests really do use our test cases (with appropriate rails test cases as
base classes).  And updated documentation.  All tests (but one) still pass.