Make Scaladoc actually exit with non-zero exit code in case of errors,
as its docs say it does.
SI-8843 AbsFileCL acts like a CL

Let the AbstractFileClassLoader override just the usual suspects.

Normal delegation behavior should ensue.

That's instead of overriding `getResourceAsStream`, which was intended
that "The repl classloader now works more like you'd expect a classloader to."
(Workaround for "Don't know how to construct an URL for something which exists
only in memory.")

Also override `findResources` so that `getResources` does the obvious thing,
namely, return one iff `getResource` does.

The translating class loader for REPL only special-cases `foo.class`: as
a fallback, take `foo` as `$line42.$read$something$foo` and try that class file.
That's the use case for "works like you'd expect it to."

There was a previous fix to ensure `getResource` doesn't take a class name.
The convenience behavior, that `classBytes` takes either a class name or a resource
path ending in ".class", has been promoted to `ScalaClassLoader`.
Merge pull request #4030 from som-snytt/issue/8843

SI-8843 AbsFileCL acts like a CL
Avoid ClassfileAnnotation warning for @SerialVersionUID

@SerialVersionUID is special-cased, the warning doesn't apply.

Related to SI-7041.
Merge pull request #4028 from soc/topic/serialversionuid-spam

Avoid ClassfileAnnotation warning for @SerialVersionUID
SI-4788/SI-5948 Respect RetentionPolicy of Java annotations

Note that I removed the check to ignore @deprecated:
- @deprecated extends StaticAnnotation, so they aren't
  supposed to show up in the RuntimeInvisibleAnnotation
  attribute anyway, and the earlier check for "extends
  ClassfileAnnotationClass" makes this check superflous
  anyway.
- Otherwise, if @deprecated was extending
  ClassfileAnnotationClass it would seem inconsistent
  that we don't emit @deprecated, but would do so for
  @deprecatedOverriding, @deprecatedInheritance, etc.
  Anyway, due to ClassfileAnnotation not working in
  Scala, and the additional check which only allows
  Java-defined annotations, this is pretty pointless
  from every perspective.
Merge pull request #4026 from soc/SI-4788-new

SI-4788/SI-5948 Respect RetentionPolicy of Java annotations
Merge pull request #4032 from dturner-tw/dturner/scaldoc-exit-code

Make Scaladoc actually exit with non-zero exit code in case of errors, as its docs say it does
SI-8890 handle reference to overload with error

We must report the ambiguity error to avoid a stack overflow.

TODO: should we simply always report? The test suite passes,
with the added test file reporting a valid second error.