Clean up names related to MemberReferenceInvalidationStrategy

The following renamings were applied:

  * MemberReferenceInvalidationStrategy => MemberReferenceInvalidator
  * reasonForInvalidation => invalidationReason
  * NameHashFilteredInvalidation => NameHashFilteredInvalidator
Cleanup names in Changes.scala and related files.

The following renamings were applied:

  * APIChangeModifiedNameHashes => NamesChange
  * NamesWithModifiedHashes => ModifiedNames

Both Incremental.scala and MemberReferenceInvalidator.scala were updated
to match change names.
Change long `invalidatedExternallyByInheritance` name.

Change that name to be shorter: file.
Ger rid of caching in NameHashFilteredInvalidator

As noted by @harrah, it's not needed because that function is applied
only once.
Use getAbsolutePath instead of getCanonicalPath

Use getAbsolutePath instead of getCanonicalPath in
MemberReferenceInvalidator.scala.
Remove stray "from" debug log message.
s/source/sources/ in Incremental.scala
Make all APIChange subclasses final.

They should have been final from the beginning. We are fixing that
omission now.
Remove superflous val from Incremental.scala.