SI-8981 Tweak REPL help

Tweak colon command processing.

Fixes an unhelpful message about the ambiguity of colon.
SI-8970  hashCode of BigDecimal and Double do not match

Switched isValidDouble (binary equivalence) to isDecimalDouble (decimal expansion equivalence), as people generally do not care about the slew of extra decimal digits off the end of the binary approximation to a decimal fraction (decimal equivalence is the standard now).

Added minimal unit test to verify behavior.
SI-8783  MultiMap documentation for addBinding is incorrect

Fixed documentation to state that addBinding will not replace a `value` that is equal (according to ==).
SI-8951  SeqView and StreamView stack-overflow on negative index after flatMap

Checks and throws IndexOutOfBounds now.

No test, caught and checked by scala-collections-laws (line 405 presently).
SI-6519  PagedSeq is not lazy enough

This was actually an issue with `length` of all things--it wasn't stopping scanning when it was past the end of what was requested.  It'd just gratuitously read everything.

Also fixed an overflow bug with isDefinedAt along the way (start + index > Int.MaxValue would always return true despite never working).
SI-8695  SeqLike has unintuitive implementation of combinations

Clarified what `combinations` means in the docs.
SI-9003 Eagerly capture more potentially mutable binders

This is a re-run of SI-5158 in two different contexts.

As reported, the result of `unapply[Seq]` under name based pattern
matching might not guarantee stability of results of calls to
`_1`, `apply(i)`, etc, so we call these eagerly, and call them
once only.

I also found a case in regular pattern matching that we hadn't
accounted for: extracting elements of sequences (either from
a case class or from an `unapplySeq`) may also be unstable.

This commit changes `ExtractorTreeMaker` to force storage
of such binders, even under `-optimize`. This parallels the change
to `ProductExtractorTreeMaker` in 8ebe8e3e8.

I have added a special case for traditional `unapply` methods
returning `Option`. This avoids a change for:

```
% cat test/files/run/t9003b.scala
object Single {
  def unapply(a: Any) = Some("")
}

object Test {
  def main(args: Array[String]): Unit = {
    "" match {
      case Single(x) =>
        (x, x)
    }
  }
}
% qscalac -optimize -Xprint:patmat test/files/run/t9003b.scala 2>&1 | grep --context=5 get
      case <synthetic> val x1: Any = "";
      case5(){
        <synthetic> val o7: Some[String] = Single.unapply(x1);
        if (o7.isEmpty.unary_!)
          matchEnd4({
            scala.Tuple2.apply[String, String](o7.get, o7.get);
            ()
          })
        else
          case6()
      };
% scalac-hash v2.11.4 -optimize -Xprint:patmat test/files/run/t9003b.scala 2>&1 | grep --context=5 get
      case <synthetic> val x1: Any = "";
      case5(){
        <synthetic> val o7: Some[String] = Single.unapply(x1);
        if (o7.isEmpty.unary_!)
          matchEnd4({
            scala.Tuple2.apply[String, String](o7.get, o7.get);
            ()
          })
        else
          case6()
      };
```
Update ScalaDoc code examples not to use deprecated constructs

- Replace newTermName in favour of TermName
- Replace newTypeName in favour of TypeName
SI-9000  equals for immutable collections should check identity

`LinearSeqOptimized` now checks reference identity on `LinearSeq`s.

No unit test; this doesn't change visible behavior (save for side-effecting equals methods).
SI-8924 don't hold reference to list in iterator

Current implementation of LinearSeqLike.iterator holds
reference to complete sequence. This prevent garbage collecting
of List elements while we keep reference to iterator somewhere.

This commit removes reference from Iterator implementation. This
allow garbage collection of List while we iterating over its
elements (when there is no other references to List in our program).
add 0X... for hex number literal
add 0X...hex number literal in syntax summary
SI:7988 - scala.collection.JavaConverters spelling mistake

Fixed typo and cleaned up the grammar in the paragraph
SI-8995: Fix broken link in error message

Change broken link to scala-xml documentation by pointing instead to
scala-xml project.
Remove commented-out debugging code in PriorityQueue
Remove completely commented-out test/run file
Merge pull request #4172 from advancedxy/spec-fix

add 0X... for hex number literal
SI-7683 Enable -Ystop-before:typer

Allows a plugin to run before typer without incurring typechecking.

The test is that a plugin doesn't run when stopping after parser,
and that the truncated compilation run also succeeds, since
updating check files for the output of -Xshow-phases is tedious.
Merge pull request #4143 from Ichoran/issue/8695

SI-8695  SeqLike has unintuitive implementation of combinations
Merge pull request #4173 from kanielc/SI-7988

SI-7988 - scala.collection.JavaConverters spelling mistake