Refactor testing in GitHub CI
* Avoid attempted rebuilding by `cabal` * Eliminate the need for restoring cache * Reduce the size of artifacts passed between `build` and `test` * Reduce the fragile duplication of logic between `build` and `test`