prefork model with warm test dependencies

instead of shelling to ruby for railties tests, we'll use a fork to isolate any weird issues. In addition, load up `abstract unit` to warm up the environment, so each test can skip over the env booting.

# TODO

- [x] preserve exit code on failure
- [x] print which file is being run before loading for debugging
- [x] some files are reporting 0 runs, so maybe not all tests are actually being run?