Upgrading to Minitest 5.2

Might as well go full-tilt with the Minitest conversion. Using the latest
version seems to work, just had to change a few classes.
Fixing descendants performance issue.

Part of the delay on Travis is a result of the memo object we're passing into
`each_with_object`. When we coerce the children call to an array rather than an
Arel collection things speed up nicely.