Cleanup specs

I feel that it will be much easier to reason about the state of the test classes if they're not being mutated during the test run. This also removes some needless `require`s and will now run the tests in random order.

WDYT?