bug fixes + random cleanup + trying to simplify parallelization + new bucketizing for test parallelization

There's a lot here.  If you want to look it over, it's probably easiest to look at each commit by itself.  I probably could've split this up into a couple different PRs. :-(