Make tests run and pass in random orders

Running tests in random order exposes potential dependencies to stale data.

* Clear out some class-level variables that cache values from previous tests
* Don't mutate the configuration object in tests:
  * Mutating the global config object affects other tests. Tests should be able
    to be run in random order. This fixes errors that surfaced when running in
    random order.