Refactoring randoms

I refactored all the instances of java.util.Random into utility.RandomGenerator.
For classes that only used the generator once or twice, I replaced those uses with RandomGenerator.[method used] and removed the variable assigned to the generator entirely. If there were multiple uses, or more than one kind of method called, I assigned their existing random-variable to RandomGenerator.generator.

A few problem subclasses had randoms hanging around unused. Those have been removed - the runners don't break and the tests still run, so I think this was okay.