[autotest] add pattern matching ability to test_that's tests arg

This CL adds two type of test pattern matching to test_that. Patterns
can now be specified with e:[test name pattern] or f:[file name pattern]
as the TEST argument to test_that.

It also demotes the complaint "Getting control files for a specific suite
has not been implemented for FileSystemGetter.' to DEBUG level, so it
doesn't cause test_that user confusion.

BUG=chromium:214066
TEST=Unit tests pass. Also...
Suite names still work the same way:
$ test_that [remote] suite:smoke # smoke suite scheduled correctly
Test name patterns work, like this:
$ test_that [remote] e:cantelope # No tests scheduled, test_that errors out
$ test_that [remote] e:dummy # No tests scheduled
$ test_that [remote] e:dummy.* # 6 tests whose name begin with dummy
                               # scheduled
File name pattern work, like this:
$ test_that [remote] f:dummy # # No tests scheduled.
$ test_that [remote] f:.*dummy.* # 8 tests scheduled
$ test_that [remote] f:.*server.*dummy.* # 2 tests scheduled
$ test_that [remote] f:.*client.*dummy.* # 6 tests scheduled

Change-Id: I104847bdf7956e020f2581128946471d1794b8d2
Reviewed-on: https://chromium-review.googlesource.com/167668
Tested-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Prashanth Balasubramanian <beeps@chromium.org>
Commit-Queue: Aviv Keshet <akeshet@chromium.org>
4 files changed