Refactor: move test code into a module
Several extract-method refactors in code-coverage test helper
Fix that tests run in forked processes were printing coverage reports

For a few tests, we shell out to `ruby -e "require 'fakeweb'; ..."` to get a
clean environment in order to check what warnings appear when you combine
FakeWeb with other libs. Recently these processes starting printing coverage
reports, which messes with our assertions about the warnings output.

This sets the SimpleCov formatter to `MultiFormatter[]` for those processes,
which keeps them collecting/logging coverage data while suppressing any output.

p.s. this also sneaks in a more robust technique for checking whether the full
suite is being run (in #running_all_tests?).
More robust technique to strip out other people's warnings in a test helper

Instead of playing whack-a-mole with new warnings every time someone ships new
code, this simply removes anything originating in gems or the stdlib.
Rename method changed in parent commit to better reflect its function
Enable simultaneous test runs by interpolating TEST_ENV_NUMBER into simplecov's dir name

Otherwise, the test runners overwrite each other's coverage data, producing false negatives.

TEST_ENV_NUMBER is the variable used in parallel_tests for database names, etc.
Get the tests running on Rubinius 2

I'm having trouble getting simplecov to work with Rubinius's coverage stdlib,
so I'm skipping that for now.