SI-6221 inference with Function1 subtypes.

There appears to be no upper bound on the number of places
we have to remove calls to typeSymbol and introduce calls to
baseType. This one was type inference for function parameter
types: worked when expected type was A => B, but not if there
was an implicit conversion from A => B to the expected type.
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.
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
SI-6419 Repl save session command

A simple save command to write out the current replay stack.

```
scala> val i = 7
i: Int = 7

scala> val j=  8
j: Int = 8

scala> i * j
res0: Int = 56

scala> :save multy.script

scala> :q
apm@mara:~/tmp$ cat multy.script
val i = 7
val j=  8
i * j
apm@mara:~/tmp$ skala
Welcome to Scala version 2.11.0-20130626-204845-a83ca5bdf7 (OpenJDK 64-Bit Server VM, Java 1.7.0_21).
Type in expressions to have them evaluated.
Type :help for more information.

scala> :load multy.script
Loading multy.script...
i: Int = 7
j: Int = 8
res0: Int = 56

scala> :load multy.script
Loading multy.script...
i: Int = 7
j: Int = 8
res1: Int = 56
```
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
SI-4594 Enable mutating mutable multi settings

Previously, multi-valued settings (String- and Phase- valued) could be
augmented but not cleared.  Also, phase settings included lazily cached
values that were not recomputed when the setting was changed.
SI-4594 Repl settings command

A settings command for the rest of us.

The usual command line options are used, except that boolean flags
are enabled with +flag and disabled with -flag.

```
scala> :settings +deprecation

scala> new BigInt(java.math.BigInteger.TEN) { }
<console>:8: warning: inheritance from class BigInt in package math is deprecated: This class will me made final.
              new BigInt(java.math.BigInteger.TEN) { }
                  ^
res0: BigInt = 10

scala> :settings -deprecation

scala> new BigInt(java.math.BigInteger.TEN) { }
res1: BigInt = 10
```
Multivalue "colon" options can be reset by supplying no values
after the colon.  This behavior is different from the command line.

```
scala> 1 toString
warning: there were 1 feature warning(s); re-run with -feature for details
res0: String = 1

scala> :settings -language:postfixOps

scala> 1 toString
res1: String = 1

scala> :settings
-d = .
-encoding = UTF-8
-explaintypes = false
-language = List(postfixOps)
-nowarn = false

scala> :settings -language:

scala> :settings
-d = .
-encoding = UTF-8
-explaintypes = false
-language = List()
-nowarn = false
```
SI-7637 Repl edit command

Open an editor with historical text.

:edit id will use the complete text of the defining line, including
a multiline expression or template definition.  The id must be a term
or type in scope, in particular, defined in the current session.

:edit line will use the specified line(s) from history, as a line
number (123), range (123-130), offset (123+7), remaining (123-) or
previous (-10 for last ten lines).

The env var EDITOR is used to specify an editor to invoke.

If EDITOR is not set or if :line command is used, the selected text
is added to the end of history.

Text is still added to history one line at a time (cf SI-1067).
Fix typo in documentation
No more duplication in maven-deploy.xml.

I just couldn't stand the incredible mess in there anymore. More cleanup to come.
For now, suffice it to say you need only add one line per new module.
Spin off src/library/scala/xml to src/xml/scala/xml.

Summary:
  - Remove the last vestiges of xml from Predef and Contexts.
  - Change build to compile scala.xml to scala-xml.jar.
  - Deploy scala-xml module to maven.
  - Update partest accordingly.

Note:
An older compiler cannot use the new standard library to
compile projects that use XML. Thus, skipping locker will
break the build until we use 2.11.0-M4 for STARR.

In the future build process, where we drop locker,
we would have to release a milestone that supports the old
and the new approach to xml. As soon as we'd be using that
new milestone for starr, we could drop support for the old approach.
Spin off parser combinators to scala-parser-combinators.jar.
Unfork jline: use vanilla jline 2.11 as a dependency.

Notes:
  - no longer specifying terminal by class name in scripts (using 'unix')
  - jline doesn't need a separate jansi dependency;
    it includes its own version according to:
    http://mvnrepository.com/artifact/jline/jline/2.11
Add meta-information for dbuild.

The next version of [dbuild](http://typesafehub.github.io/distributed-build/0.5.3/index.html)
will parse `dbuild-meta.json` to determine which jars are produced by a Scala build.

This way we can modularize without changing dbuild itself.

Yes, I know `dbuild-meta.json` should be generated during the build.
However, given the state of our build.xml, I think this is pointless.

My goal is to generate build.xml, dbuild-meta.json and Eclipse projects
from a higher-level description of our build. Baby steps...

Including improvements by @cunei:
  - Removing outdated field "uri" from ExtractedBuildMeta
  - Changed "partest" to "scala-partest" (the actual jar name)
Updated eclipse project files.

Set everything up so that soon-to-be independent modules are
compiled with the Eclipse plugin's compiler & library (2.11.0-M3 currently).

Most projects still compile with 2.11.0-M3, but
partest will need a nightly build of 2.11.
Merge pull request #2707 from jedesah/patch-1

Fix typo in documentation