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.
Why is that particularly valuable? It seems like it would be far more common for a human to interact with this implementation, rather than the output, so keeping the implementation simple seems like the best strategy.