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.
Unlike the other thread on reexporting public items, I think it is worth not reexporting modules that don't have any reexports/tests. That doesn't add any complication to the test description calculation.