Overhaul of tools/partest-ack.

I decided what would be really handy for test selection is
being able to run all the tests which were created or modified
at the same time as something else. Right now that is at file
granularity, though it would be simple enough to generalize it
such that any expression which can be translated to a set of
git commits can also be turned into a selection of tests.

I added some other options as well:

Usage: $0 <regex> [-dfquvp] [ack options]

  -d          pass --debug to partest
  -f          pass --failed to partest
  -q          DON'T pass --show-log and --show-diff to partest
  -u          pass --update-check to partest
  -v          pass --verbose to partest
  -p <path>   select tests appearing in commits where <path> was also modified

Example usage:

  > tools/partest-ack -p src/compiler/scala/tools/nsc/typechecker/Checkable.scala
  % tests-modified-in-same-commit  ...  12
  # 12 tests to run.
  Testing individual files
  testing: [...]/files/pos/t6537.scala                                  [  OK  ]

  Testing individual files
  testing: [...]/files/neg/unchecked-impossible.scala                   [  OK  ]
  testing: [...]/files/neg/t1872.scala                                  [  OK  ]
  testing: [...]/files/neg/t4302.scala                                  [  OK  ]
  testing: [...]/files/neg/unchecked-knowable.scala                     [  OK  ]
  testing: [...]/files/neg/unchecked-abstract.scala                     [  OK  ]
  [etc]
Merge pull request #2045 from paulp/pr/partest-ack

Overhaul of tools/partest-ack.