Allow tests to be parallelized

Running `make -j16 test` now runs tests in batches of 16.  This takes 1m
(real) (6m user), whereas `make -j1 test` takes about 5 minutes (both
real and user).  There is a bit of funniness with cancelling `make -j16
test`; I get a bunch of directory/file not found errors.  I'm not sure
why.

I've changed the test printing format a bit; make, unlike, say, the
ninja buildsystem, interleaves outputs rather than buffering them.  I
chose to make sure that the perl script printed entire lines at one,
resulting in output like
```
Running test004...
Ran test004...success
Running test005...
Ran test005...success
Running test006...
Ran test006...success
Running test007...
```
rather than
```
Running test004...success
Running test005...success
Running test006...success
Running test007...
```
with the `success` appearing some time after the `Running testNNN...`
message.