validation_pool: pool.changes -> pool.candidates, pool.applied.

Validation pool had a list of changes, and one would know if they were
applied or not by knowing if ApplyPoolIntoRepo had been called.

This change breaks pool.changes into a pool.candidates (the list of
changes being considered for application), and pool.applied (the list of
changes that have been appled to the current repo).

The point is that it's now safe to call ApplyPoolIntoRepo() more than
once. In particular, that function now accepts a filter argument. This
means we can apply changes which match a filter, do some work, then come
back and apply the rest of the changes.

A follow on change will start applying manifest changes first, doing
work to include those changes in the manifest used by the CQ, and then
to apply the rest of the changes on top of the patched manifest.

BUG=chromium:549844
TEST=cbuildbot/run_tests

Change-Id: I2275248d19d6ba64e255258eeeea771d827a8022
Reviewed-on: https://chromium-review.googlesource.com/311393
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
7 files changed