SI-7582 ClassfileParser: populate privateWithin of Java module class

The `privateWithin` attribute of Java companion module classes was
correctly set under joint compilation (ie, when using JavaParser),
but not under separate compilation.

This commit remedies this. The test covers variety of Java symbols.
SI-7582 Only inline accessible calls to package-private Java code

Two problems here.

The inliner was using `isPrivate` / `isProtected` to determine access.
The fallthrough considered things to be (bytecode) public. This is okay
in practice for Scala code, which never emits package private code.

Secondly, we must check accessibility of the called symbol *and* its
owner. This case is tested in `run/t7582b`.

This commit tightens the check for Java defined symbols: a) check the owner,
and b) don't assume that `! isPrivate` is accessible.
SI-7592 Replace s.t.n.u.TreeSet with s.c.m.TreeSet

This means
- migrating usages from the compiler-specific implementation to the
  one in the standard library
- removing the now unused compiler-specific implementation
Move some code from s.t.n.io to s.t.n.interactive

The only usages of scala.tools.nsc.io.{Lexer,Pickler,PrettyWriter,
Replayer} can be found in scala.tools.nsc.interactive.

Let's move those files closer to their dependencies.
fix typo
Use forward slash in #2637's test on windows

Don't use toString to output file names in tests,
its output is platform dependent -- use `testIdent` instead.
Merge pull request #2663 from soc/SI-7592

SI-7592 Replace s.t.n.u.TreeSet with s.c.m.TreeSet
Merge pull request #2699 from adriaanm/fix-2637-windows

Use forward slash in #2637's test on windows
Merge pull request #2660 from retronym/ticket/7582

SI-7582 Only inline accessible calls to package-private Java code
Merge pull request #2687 from soc/topic/io-to-interactive

Move some code from s.t.n.io to s.t.n.interactive
Merge pull request #2695 from xuwei-k/bigint-bigdecimal-typo

fix typo
Fix typo in documentation
Merge pull request #2707 from jedesah/patch-1

Fix typo in documentation
SI-7614 Minimize the times of evaluation f in TraversableOnce.maxBy/minBy.

In the previous implementation, maxBy/minBy will evaluate most of its elements
with f twice to get the ordering. That results (2n - 2) evaluations of f.

I save both the element and result of evaluation to a tuple so that it doesn't
need to re-evaluate f on next comparison. Thus only n evaluations of f, that is
the optimal.

Note that the original implementation always returns the first matched if more
than one element evaluated to same largest/smallest value of f. I document
this behavior explicitly in this commit as well.
Merge pull request #2688 from yllan/SI-7614

SI-7614 Minimize the times of evaluation f in TraversableOnce.maxBy/minBy