Adds intelligent rerun metadata to generators.

This is metadata (related property names and property/type output
instability) that can be used to determine when and on what scope
of input to run a particular generator during separate compilation.

Without this metadata the only safe way to run generators would
be to defer all of them to a global pass at the end of separate
compilation, which would eliminate any generator result caching and
generator execution parallelism.

As a result, having and using this generator metadata is an
important part of making separate compilation fast.

Change-Id: I763a02a41a5abfd522852b0ad29e200548316c6f
Review-Link: https://gwt-review.googlesource.com/#/c/5243/
17 files changed