add a `TestDriver` abstraction to allow for testing of `reflectTests` (and for other types of test drivers!)

Start working on tests for `reflectTests`.
Add `mock_mirrors` to the public library; these are generally useful
types for testing.