Purge #[!resolve_unexported] from the compiler

This rewrites the test harness generation to create modules that reexport things as needed to make sure all tests are visible.
This is going to reexport even public test functions, right? Ideally it wouldn't reexport any public item at all, it would only reexport private items as necessary (either private test functions, or private modules that contain test functions).