More robust automated testing.

This commit contains a bunch of changes that really only make sense when
they're lumped together:

- An upgrade to Foreman 0.63.0.  This includes termination fixes from
  john-griffin's fork, and has the benefit of being an official release.
- A custom Foreman engine that generates URLs, rather than us having to
  poll individual services for URLs.  This goes along with recent
  castanet-testing changes that reduce the number of forked processes
  (and, as a side effect, eliminate instance scratch dir cleanup).
- Delete the scratch directory before a build.  Yeah, this results in a
  few extra seconds to download prerequisites from NUBIC's LAN.  I don't
  care.