SI-8442 Ignore stub annotation symbols in `AnnotationInfo#matches`

And update the java `ClassFileParser` to create distinguished
`StubClassSymbol`s, rather that a regular `ClassSymbol`s, when
encountering a deficient classpath. This brings it into line
with `Unpickler`, which has done as much since a55788e275f.

This stops the enclosed test case from crashing when determining
if the absent symbol, `A_1`, is a subclass of `@deprecated`.

This is ostensibly fixes a regression, although it only worked in
`2.10.[0-3]` by a fluke: the class file parser's promiscious
exception handling caught and recovered from the NPE introduced
in SI-7439!

	% javac -d /tmp test/files/run/t8442/{A,B}_1.java &&  qbin/scalac -classpath /tmp -d /tmp test/files/run/t8442/C_2.scala && (rm /tmp/A_1.class; true) && scalac-hash v2.10.0 -classpath /tmp -d /tmp test/files/run/t8442/C_2.scala
	warning: Class A_1 not found - continuing with a stub.
	warning: Caught: java.lang.NullPointerException while parsing annotations in /tmp/B_1.class
	two warnings found
Merge pull request #3655 from retronym/ticket/8442

SI-8442 Ignore stub annotation symbols in `AnnotationInfo#matches`