Improvements to partest-ack, plus partest-paths.

I noticed partest-ack was not finding all matching tests, and
fixed that. Also cleaned up the ack options so they're understood
by the latest version of ack.

Along the way I broke the canonicalization functionality out into its
own script so it can easily be used from other places.
Merge pull request #3273 from paulp/pr/ack

Improvements to partest-ack, plus partest-paths.