Fixes cascaded generator invalidation for inner classes.

Previously when performing cascaded generator invalidation for per file
compilation the path would get lost when flowing through an inner class.

The problem was that some variable names were too fuzzy about the
distinction between a typeName (which can be a root type or nested type)
and a compilationUnitName (which can only be a root type).

As a result when there was an attempt to union a staleTypeNames set and
generatedTypeNames set (which should have been named
generatedCompilationUnitNames) the resulting set had eliminated the
names of some inner types. Their absence was interpretted to mean that
they were not generated types when in truth their absence was only an
indication that it doesn't make sense to union a typeName set with a
compilationUnitName set.

Clarified the naming to prevent similar future confusion and added a
regression test.

Change-Id: I6ed295378d5f2e5789bc229e31386ffd75bfc490
5 files changed