Support Native Test Expectations

Bug 5764723

CTS tests filter out known failures via a text file
containing the "expectations" of tests. This mechanism
was adopted since the libcore tests use the same
system. The recently added native test support didn't
work with the filters though, but now this change adds
that support.

Split the scanning of native tests and XML generation
into separate programs. cts-native-scanner just outputs
test classes and methods it discovers. This is then
piped to cts-xml-generator that takes those tests
and compares them against the test expectations. The
idea is that to support new tests you just need to
add another program that outputs the test classes
and methods. You can then pipe that output to XML
generator and be done.

Having a test expectations is required now, because I
needed to make the XMLs get generated when the test
expectations changed. Before the XMLs were always
regenerated, but now they may not be if nothing has
changed (yay!).

Change-Id: I1feafa3cbcaefdea1b3174ee05026f9c5f58b87e
18 files changed