Merge branch '2.10.2' into 2.10.3

Conflicts:
	src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
Merge pull request #2878 from JamesIry/2.10.3

Merge 2.10.2 into 2.10.3
update typesafe.artifactory-online.com to private-repo
Change Scala license to unmodified 3-clause BSD.

No longer using the slightly reworded 3-clause BSD license.
This does not change the meaning of the license,
just aligns it with the standard wording.
Merge remote-tracking branch 'origin/2.10.x' into merge/2.10.x-to-2.10.3
SI-7815 Dealias before deeming method type as dependent

To enable eta-expansion of method types seen from a prefix that
renders the result type as independent from the parameter symbols.

The enclosed test shows that we dealias types before checking
dependence, and that we do this deeply (e.g. type arguments are
also dealised.)

An existing test, neg/error_dependentMethodTpeConversionToFunction,
confirms that bona-fide dependent methods are still prohibited from
eta expansion.
SI-7825 Consider DEFAULTMETHOD when refchecking concreteness

A class should not be required to implement a Java default method.

This commit uses `isDeferredNotDefault` in place of `isDeferred`
when finding unimplemented methods.

The test itself does not depend on Java 8 as we use scalac's
Java source parser to set things up.
SI-7398 Enable test for Java 8 source parser under Java 8

There is no need to skip it as it only depends on our changes
to our JavaParser, and not on any bytecode features of Java 8.
Merge pull request #2923 from retronym/ticket/7825

SI-7825 Consider DEFAULTMETHOD when refchecking concreteness
Merge pull request #2882 from adriaanm/license-cleanup-2.10.x

Change Scala license to unmodified 3-clause BSD.
Merge pull request #2893 from adriaanm/backport-2880-2.10.x

update typesafe.artifactory-online.com to private-repo
Merge remote-tracking branch 'origin/2.10.x' into merge/2.10.x-to-2.10.3
Merge pull request #2906 from retronym/merge/2.10.x-to-2.10.3

Merge/2.10.x to 2.10.3
Don't avoid to load trait impl .class without inliner.

When the inliner is on, it is necessary to load class
files containing the implementation of traits, i.e.,
those ending in $class.class. This is needed to be
able to inline these methods. However it is useless
if the inliner is disabled.

The previous logic avoided to put these files on the
classpath when the inliner was off. However, this
complicates things, and it makes the classpath
mechanism dependent on something totally unrelated.

On this basis, this commit removes that logic, and
instead trait impl .class files are always kept on
the classpath.
SI-7861 Don't execute internal callbacks on the user Executor

Callbacks internal to the implementation of Futures should be
executed with the `InternalCallbackExecutor`, rather than the
user supplied `Executor`.

In a refactoring da54f34a6, `recoverWith` and `flatMap` no longer
played by these rules. This was noticed by a persnickety test in
Play.

Before this patch, the enclosed test outputs:

    % scala-hash v2.10.3-RC2 test/files/run/future-flatmap-exec-count.scala
    mapping
    execute()
    flatmapping
    execute()
    execute()
    recovering
    execute()
    execute()
Merge pull request #2969 from retronym/ticket/7861

SI-7861 Don't execute internal callbacks on the user Executor
Update of Eclipse project files

- Update of project dependencies
- Deletion of scala-xml project
- Deletion of scala-parser-combinators project
- Update of .gitignore to match nested .cache files
[nomaster] SI-7862: MANIFEST.MF file for Scala sources

In order to be able to use published Scala jars as OSGi bundles in the
Eclipse build, Eclipse needs to match sources and binaries. That is
done by making source jars *source bundles*. This PR adds the required
manifest entries. Nothing else should be affected (file names remain
the same).

Cherry picked from 655b7d2601d7db9e98bb405da0a67c9068c98626

Conflicts:
	build.xml

After this commit:

```
% ant -q dist.src
% for f in dists/scala-2.10.3-20130921-144112-892aa93cf7/src/*.jar; do \
    echo $f                                                            \
    unzip -p $f META-INF/MANIFEST.MF                                   \
  done

dists/scala-2.10.3-20130921-144112-892aa93cf7/src/fjbg-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)

dists/scala-2.10.3-20130921-144112-892aa93cf7/src/msil-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)

dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-actors-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Actors Sources
Bundle-SymbolicName: org.scala-lang.scala-actors.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-actors;version="2.10.3.v201
 30921-144112-892aa93cf7";roots:="."

dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-compiler-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Compiler Sources
Bundle-SymbolicName: org.scala-lang.scala-compiler.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-compiler;version="2.10.3.v2
 0130921-144112-892aa93cf7";roots:="."

dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-library-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Library Sources
Bundle-SymbolicName: org.scala-lang.scala-library.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-library;version="2.10.3.v20
 130921-144112-892aa93cf7";roots:="."

dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-partest-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)

dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-reflect-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Reflect Sources
Bundle-SymbolicName: org.scala-lang.scala-reflect.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-reflect;version="2.10.3.v20
 130921-144112-892aa93cf7";roots:="."

dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-swing-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Swing Sources
Bundle-SymbolicName: org.scala-lang.scala-swing.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-swing;version="2.10.3.v2013
 0921-144112-892aa93cf7";roots:="."

dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scalap-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
```
Add back the newClassLoader hook in SymbolLoaders.

This was previously an overridable method of Platform.
The loader creation was moved in
afbee09c8e0e7b1a4da1f8517c723dad9f1adb6f directly in
SymbolLoaders, but inside a method doing more logic,
namely initializeFromClassPath().

This commit simply moves the actual creation of the
class loader (`new ClassfileLoader(bin)`) into its
own method `newClassLoader`, but in SymbolLoaders.
This allows to override only that method in subclasses
of SymbolLoaders.
Move logic checking valid names from ClassPath to ClassPathContext

Other methods taking the same kind of decisions were already
in ClassPathContext, e.g., isValidName() or, in some sense,
even toBinaryName().

This makes ClassPath itself be completely agnostic of how
particular kinds of files or directories are named.

It also allows to override this logic at the context level.
Without it, overriding this logic required a fair amount of
code duplication from ClassPath.