SI-6502 Reenables loading jars into the running REPL (regression in 2.10)

Fixes [SI-6502](https://issues.scala-lang.org/browse/SI-6502), reenables loading jars into the running REPL (regression in 2.10). This PR allows adding a jar to the compile and runtime classpaths without resetting the REPL state (crucial for Spark [SPARK-3257](issues.apache.org/jira/browse/SPARK-3257)).

This follows the lead taken by @som-snytt in PR [#3986](https://github.com/scala/scala/pull/3986), which differentiates two jar-loading behaviors (muddled by `cp`):
 - adding jars and replaying REPL expressions (using `replay`)
 - adding jars without resetting the REPL (deprecated `cp`, introduced `require`)
This PR implements `require` (left unimplemented in [#3986](https://github.com/scala/scala/pull/3986))

This PR is a simplification of a similar approach taken by @gkossakowski in #3884. In this attempt, we check first to make sure that a jar is only added if it only contains _new_ classes/traits/objects, otherwise we emit an error. This differs from the old invalidation approach which also tracked deleted classpath entries.
I dunno.  I hate for convenience API to go unused.  Also, maybe from Effective Java, and from paulp dogma, two funcs foo and notfoo are preferred to f(foo = true), or respectively, Foo and NotFoo with f implementations.  But to clarify, recently I said somewhere that using guava's `ImmutableMap.of()` is not clearer than `Collections.emptyMap()`, just because everyone knows the core API.

In general, though, an API that reduces braces is a win.  Here, I have to wonder if catching CNFE suffices.  The ScalaCL also catches SecurityEx.  Should it?  I hope so, but in any case I don't want to think about that right now.

Off the record, I also said to myself, I thought I just looked at loading a class from a byte array, do we really need to introduce a class for that?  But I didn't have a 30-second response.  That's why it's nice to promote existing enhancements like ScalaClassLoader.  But I don't always prefer DRY over quick'n'dirty re-implementations that avoid extraneous dependencies.

Sorry for the tldr, it's a long Hulu commercial during once upon a time.