Extract useful things from ConsoleRunner and use them in SBTRunner

The first commit just bumps dependency versions.

This splits ConsoleRunner in two: AbstractRunner contains most of the
behavior but doesn't assume (or at least less that before...) that we
are running from the command line. ConsoleRunner extends it to do the
same as before.

Now SBTRunner also extends AbstractRunner (instead of AntRunner), to
get support for --grep, --update-check, and all other options, for
testing an explicit file, and for pretty output.

This requires changes on the scala-partest-interface side too
(SBTRunner's public API has changed).
I don't like 1000 line files, but I also prefer to avoid degenerate files.  I would keep the runners together; maybe SbtRunner, too, since it's also trivial.  This stuff has gone through refactoring with various file prefixes, DirectFoo, etc, etc.  Runner.scala vacuumed up a lot and includes SuiteRunner, so I wouldn't know what to call this except Framework.scala.