Make auto-rebaseline work properly again with the Android port skipping things.

Currently the Android port is skipping nearly every layout test in a port-
specific TestExpectations overrides file (LayoutTests/platform/android/TestExpectations).

However, devs are adding lines like 'Bug(x) foo/bar.html [ NeedsRebaseline ]'.
In this case, the auto-rebaseline bot attempts to rebaseline the test, but,
because it was not looking at the overrides files, did not know that the test
was supposed to be skipped on Android, and so it would rebaseline the other
platforms and leave 'Bug(x) [ Android ] foo.bar [ NeedsRebaseline ]' in the file.
Then, we'd run again, attempt to rebaseline *just* the Android port, and choke
because the Android port wasn't failing (and hence we'd get an empty diff).

Arguably, the code is doing the right thing and developers should be adding
lines like 'Bug(x) [ Mac Win Linux ] foo.bar.html [ NeedsRebaseline ]' instead
to tell the bot not to try to rebaseline Android; however, it's still a bug
that we're not looking at the Skip expectations. This patch fixes things
to look at the overrides files and filter out bots that are Skipping the
requested test.

However, in doing so, I realized that the unit test code is getting increasingly
fragile due to a weird hybrid of fake data and real data. I filed bug 279500
and bug 279494 to track these issues and hopefully clean things up in a separate
pass.

R=ojan@chromium.org
BUG=277163, 279494, 279500

Review URL: https://chromiumcodereview.appspot.com/23442005

git-svn-id: svn://svn.chromium.org/blink/trunk@156745 bbb929c8-8fbe-4397-9dbb-9b2b20218538