SI-6807 Deprecating the Actors library.

All public classes, traits and objects marked as deprecated.
Added deprecation note on the package object.
Embedded external libraries (ThreadPool etc.) are not deprecated as they are intended for internal use only.

Review by: @phaller
SI-7091 Add a diagnostic for the "no acc def buf" error.
SI-7091 Don't try to put a protected accessor in a package.

This shows up when a protected[pack] class has a constructor
with a default argument.

Regressed in f708b87 / SI-2296.
Fix typing idempotency bug with Annotated trees

typedAnnotated transforms an Annotated tree into a Typed tree. The
original field of the result is set to the Annotated tree.

The bug was that typedAnnotated was using the untyped Annotated tree
as original, but also set its type. When re-typing later on the same
Annotated tree, the typer would consider it as alreadyTyped. This
is incorrect, the typer needs to convert Annotated trees to Typed.

Also, the Annotated tree only had its type field set, but its children
were still untyped. This crashed the compiler lateron, non-typed trees
would get out of the typing phase.
re-align 2.10.x's pattern matcher with master's

The diff was mostly code cleanup, so most of that was propagated from master to 2.10.x.
The remaining diff is encapsulated in compatibility stubs (see below).
(There was also the on/off potential for the 2.10.x "new" pattern matcher.
 The old one is gone in 2.11, so no turning off new patmat, of course.)

The stubs:

```
protected final def dealiasWiden(tp: Type)   = tp.dealias                       // 2.11: dealiasWiden
protected final def mkTRUE                   = CODE.TRUE_typed                  // 2.11: CODE.TRUE
protected final def mkFALSE                  = CODE.FALSE_typed                 // 2.11: CODE.FALSE
protected final def hasStableSymbol(p: Tree) = p.hasSymbol && p.symbol.isStable // 2.11: p.hasSymbolField && p.symbol.isStable
protected final def devWarning(str: String)  = global.debugwarn(str)            // 2.11: omit
```
[refactor] move PatternMatching.scala to transform.patmat
[refactor] type analysis consolidation

move instanceOfTpImplies out of CodeGen into TypeAnalysis
[refactor] prepare migration from Cond to Prop

There's no change in behavior.
Remove `modelNull` boolean in favor of subclassing.
drop Cond in favor of Prop

This brings the optimizations and the analyses closer together.

In the future we may consider using a solver in the optimizations.
For now, implication is checked ad-hoc using hash-consing and equality/subset tests...

NOTE: prepareNewAnalysis resets said hash-consing, so must be
called before approximating a match to propositions
[refactor] make hash-consing more robust
[refactor] better name for symbolicCase
[refactor] move some logic-related code
Merge pull request #2115 from retronym/ticket/7091

SI-7091 Don't try to put a protected accessor in a package.
Merge branch 'patmat-refactor' into patmat-refactor-master

Conflicts:
	src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
SI-6642 Code cleanup on RedBlackTree#TreeIterator

In anticipation of some work needed to implement iteratorFrom, this
commit does some variable renaming and general code clean up on
RedBlackTree's TreeIterator.
SI-6642 Adds iteratorFrom, keysIteratorFrom, and valuesIteratorFrom

Adds the ability to efficiently create an iterator that starts at a
given key or element of a sorted set or map. Similar work is done for
key and value only iterators on maps.

The bulk of the work is in RedBlackTree. Most of the rest is pushing
the new api methods throughout the appropriate spots in the collection
API.

This commit leaves undone some similar work possible on mutable TreeSets
SI-6642 Refactor mutable.TreeSet to use RedBlackTree instead of AVL

There was no reason to have mutable.TreeSet use AVLTree while
immutable.TreeSet and immutable.HashSet used RedBlackTree. In
particular that would have meant duplicating the iteratorFrom logic
unnecessarily. So this commit refactors mutable.TreeSet to use
RedBlackTree for everything, including iteratorFrom. It also adds
a test to make sure TreeSet works as expected.

AVLTree should be dead code since it's private[scala.collection.mutable]
and only used by mutable.TreeSet, but to be safe it's only deprecated
in this commit.
SI-6642 Code cleanup from review of iteratorFrom

This commit is code cleanup from the review on
https://github.com/scala/scala/pull/2119

* Changes several instances of
    def f[A, ]… to
    def f[A]…
* Changes several instances of
    def f[A](…)(implicit ordering : Ordering[A])… to
    def f[A: Ordering](…)…
* Changes one instance of
    x == null to
    x eq null
* Changes two instances of
    id + bottomid to
    bottomid + id
Fix SI-7130: Memory leaked caused by Statistics

As described in the ticket, we were leaking memory by holding reference
to Global through by-name argument that was captured by an instance of
a class stored in global HashMap `qs`.

The fix is simple: do not register quantities in HashMap unless statistics
is enabled. This way, if Statistics is disabled we do not store any
references.

We still leak memory in case of statistics being enabled.
SI-7134: don't require doc.Settings in base api of scaladoc.