Fixes a performance problem with preamble type invalidation.

Invalidating a preamble type causes a full recompile, but it was also
leaving the cache in a state that would invalidate preamble types for
the next compile. Leaving you stuck in a permanent "full recompile"
loop.

Stopped over-modifying the cache.

Change-Id: I554408915ce9475421f5068b5c7d96628edb75f2