Merge 2.11.x to 2.12.x

No conflicts, no skipped commits.

I'm keen to have the increased test timeout from #4007 merged to 2.12
to improve the stability of our nightly builds.

```
% export MB=$(git merge-base origin/2.12.x origin/2.11.x)

% git --no-pager  log --graph --oneline --decorate $MB...origin/2.11.x
*   2cfac1a (origin/2.11.x, 2.11.x) Merge pull request #3996 from gourlaysama/wip/spec
|\
| * 65eb42f (origin/pr/3996) spec: a header that links to the index, with a scala logo
| * e95d91e spec: a print stylesheet to remove the TOC when printing
| * 3a72a9d spec: generated TOC with linkable headers
* |   547f0a1 Merge pull request #4009 from gourlaysama/wip/test-flags
|\ \
| * | 3059afb (origin/pr/4009) Cleanup a few flags in test/files/
* | |   cb26ad3 Merge pull request #4007 from retronym/topic/bump-timeout
|\ \ \
| * | | 5320424 (retronym/topic/bump-timeout, origin/pr/4007, codescala/topic/bump-timeout) Bump timeout in interactive tests from 10s -> 30s.
|/ / /
* | |   5508e00 (codescala/2.11.x) Merge pull request #4006 from retronym/topic/defragility
|\ \ \
| |/ /
|/| |
| * | dc54894 (retronym/topic/defragility, origin/pr/4006, codescala/topic/defragility) Avoid test fragility to changes in Predef
|/ /
* |   f62c312 (codescala/topic/test-r) Merge pull request #4002 from retronym/merge/2.10.x-to-2.11.x-20140925
|\ \
| * \   610c284 (retronym/merge/2.10.x-to-2.11.x-20140925, origin/pr/4002, merge/2.10.x-to-2.11.x-20140925) Merge remote-tracking branch 'origin/2.10.x' into merge/2.10.x-to-2.11.x-20140925
| |\ \
|/ / /
| * | a908ded (origin/2.10.x, codescala/2.10.x, 2.10.x) Merge pull request #3998 from retronym/backport/7756
| * | 0022dcc (retronym/backport/7756, origin/pr/3998, backport/7756) [backport] SI-7756 Uncripple refchecks in case bodies
|  /
* |   5695588 (codescala/ticket/8079.scala) Merge pull request #3999 from mpociecha/classpath-findSourceFile-method-renaming
|\ \
| * | ea2ec79 (origin/pr/3999) Get rid of Platform.doLoad method.
| * | ea589ea Rename ClassPath.findSourceFile to ClassPath.findClassFile
|/ /
* |   269cb7b Merge pull request #3994 from puffnfresh/feature/system-compiler-properties
|\ \
| * | 48caed5 (origin/pr/3994) Make compiler.properties fall back to prefixed
* | |   88bf17d Merge pull request #3997 from krystiannowak/patch-1
|\ \ \
| |_|/
|/| |
| * | fab1ffc (origin/pr/3997) HasSet to HashSet typo fix
|/ /
* |   7956469 Merge pull request #3990 from som-snytt/issue/spec-overload-title
|\ \
| |/
|/|
| * 92692e6 (origin/pr/3990) Particular formatting improvement in the spec
|/
*   379dbb0 (origin/flatClasspath) Merge pull request #3984 from gourlaysama/wip/spec
|\
| * d24ad90 (origin/pr/3984, codescala/pr/3984) spec: fix broken links and anchors, including examples
| * 3b0c71d spec: remove trailing whitespace everywhere
| * bca19f3 spec: fix latex formatting all over the place
| * 6e19162 spec: add syntax highlighting for scala code with highlight.js
| * e11fe9b spec: use the yaml title as the HTML title
*   79f59c5 Merge pull request #3988 from ghik/issue/8459
|\
| * 7c81959 (origin/pr/3988, codescala/pr/3988) SI-8459 fix incorrect positions for incomplete selection trees
* |   8e1efc3 Merge pull request #3989 from retronym/ticket/8852
|\ \
| * | 17a1abb (retronym/ticket/8852, origin/pr/3989, codescala/ticket/8852) SI-8852 Support joint compilation of Java interfaces w. statics
|  /
* |   2c23a5e Merge pull request #3974 from xeno-by/topic/buffer-pattern-expander-errors
|\ \
| |/
|/|
| * 3b35177 (origin/pr/3974) This ensures that typechecking custom unapplications in silent mode doesn't leak uncatchable errors. Interestingly enough, the problem only manifested itself for custom unapply methods, not for synthetic ones generated for case classes.
* 190c672 Merge pull request #3980 from retronym/ticket/8844
* a8a31e9 (retronym/ticket/8844, origin/pr/3980, codescala/ticket/8844) SI-8844 Fix regression with existentials + type aliases

% git merge origin/2.11.x
Removing test/files/run/t5614.flags
Removing test/files/run/t5532.flags
Removing test/files/run/t5530.flags
Removing test/files/pos/five-dot-f.flags
Merge made by the 'recursive' strategy.
 spec/01-lexical-syntax.md                                                  |  68 ++++++-------
 spec/02-identifiers-names-and-scopes.md                                    |  11 +--
 spec/03-types.md                                                           | 313 ++++++++++++++++++++++++++++--------------------------------
 spec/04-basic-declarations-and-definitions.md                              | 129 +++++++++++--------------
 spec/05-classes-and-objects.md                                             | 134 +++++++++++---------------
 spec/06-expressions.md                                                     | 281 +++++++++++++++++++++++------------------------------
 spec/07-implicit-parameters-and-views.md                                   |  65 ++++++-------
 spec/08-pattern-matching.md                                                | 124 ++++++++++++------------
 spec/09-top-level-definitions.md                                           |  14 +--
 spec/10-xml-expressions-and-patterns.md                                    |  55 ++++++-----
 spec/11-user-defined-annotations.md                                        |   5 +-
 spec/12-the-scala-standard-library.md                                      | 131 ++++++++++++-------------
 spec/13-syntax-summary.md                                                  |  36 +++----
 spec/14-references.md                                                      |   8 +-
 spec/README.md                                                             |   5 +-
 spec/_includes/numbering.css                                               |   6 ++
 spec/_layouts/default.yml                                                  |  62 +++++++++++-
 spec/_layouts/toc.yml                                                      |  17 +++-
 spec/index.md                                                              |   2 -
 spec/public/favicon.ico                                                    | Bin 0 -> 6518 bytes
 spec/public/highlight/LICENSE                                              |  24 +++++
 spec/public/highlight/highlight.pack.js                                    |   1 +
 spec/public/images/scala-logo-red-spiral-dark.png                          | Bin 0 -> 13021 bytes
 spec/public/octicons/LICENSE.txt                                           |   9 ++
 spec/public/octicons/octicons.css                                          | 235 +++++++++++++++++++++++++++++++++++++++++++++
 spec/public/octicons/octicons.eot                                          | Bin 0 -> 31440 bytes
 spec/public/octicons/octicons.svg                                          | 198 ++++++++++++++++++++++++++++++++++++++
 spec/public/octicons/octicons.ttf                                          | Bin 0 -> 31272 bytes
 spec/public/octicons/octicons.woff                                         | Bin 0 -> 17492 bytes
 spec/public/scripts/navigation.js                                          |  70 ++++++++++++++
 spec/public/stylesheets/print.css                                          |  15 +++
 spec/public/stylesheets/screen.css                                         | 112 ++++++++++++++++++++--
 src/compiler/scala/tools/nsc/Properties.scala                              |   2 +-
 src/compiler/scala/tools/nsc/ast/parser/Parsers.scala                      |   2 +-
 src/compiler/scala/tools/nsc/javac/JavaParsers.scala                       |   5 +-
 src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala        |   4 +-
 src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala            |   2 +-
 src/compiler/scala/tools/nsc/transform/UnCurry.scala                       |   2 +-
 src/compiler/scala/tools/nsc/transform/patmat/MatchTranslation.scala       |   4 +-
 src/compiler/scala/tools/nsc/transform/patmat/ScalacPatternExpanders.scala |  17 ++--
 src/compiler/scala/tools/nsc/typechecker/PatternTypers.scala               |   2 +-
 src/compiler/scala/tools/nsc/util/ClassPath.scala                          |   2 +-
 src/interactive/scala/tools/nsc/interactive/tests/core/TestSettings.scala  |   2 +-
 src/library/rootdoc.txt                                                    |   2 +-
 src/library/scala/util/Properties.scala                                    |   6 +-
 src/reflect/scala/reflect/internal/Types.scala                             |   2 +-
 test/files/neg/macro-invalidret.check                                      |   3 +-
 test/files/neg/macro-invalidret/Impls_1.scala                              |   2 +-
 test/files/pos/five-dot-f.flags                                            |   1 -
 test/files/pos/t8719.check                                                 |   0
 test/files/pos/t8719/Macros_1.scala                                        |  21 ++++
 test/files/pos/t8719/Test_2.scala                                          |  10 ++
 test/files/pos/t8844.scala                                                 |   4 +
 test/files/presentation/t8459.check                                        |  14 +++
 test/files/presentation/t8459/Test.scala                                   |   3 +
 test/files/presentation/t8459/src/IncompleteDynamicSelect.scala            |  14 +++
 test/files/run/t5530.flags                                                 |   1 -
 test/files/run/t5532.flags                                                 |   1 -
 test/files/run/t5614.flags                                                 |   1 -
 test/files/run/t8852a.scala                                                |  34 +++++++
 test/junit/scala/tools/nsc/symtab/SymbolTableForUnitTesting.scala          |   1 -
 61 files changed, 1476 insertions(+), 818 deletions(-)
 create mode 100644 spec/public/favicon.ico
 create mode 100644 spec/public/highlight/LICENSE
 create mode 100644 spec/public/highlight/highlight.pack.js
 create mode 100644 spec/public/images/scala-logo-red-spiral-dark.png
 create mode 100644 spec/public/octicons/LICENSE.txt
 create mode 100644 spec/public/octicons/octicons.css
 create mode 100644 spec/public/octicons/octicons.eot
 create mode 100644 spec/public/octicons/octicons.svg
 create mode 100644 spec/public/octicons/octicons.ttf
 create mode 100644 spec/public/octicons/octicons.woff
 create mode 100644 spec/public/scripts/navigation.js
 create mode 100644 spec/public/stylesheets/print.css
 delete mode 100644 test/files/pos/five-dot-f.flags
 create mode 100644 test/files/pos/t8719.check
 create mode 100644 test/files/pos/t8719/Macros_1.scala
 create mode 100644 test/files/pos/t8719/Test_2.scala
 create mode 100644 test/files/pos/t8844.scala
 create mode 100644 test/files/presentation/t8459.check
 create mode 100644 test/files/presentation/t8459/Test.scala
 create mode 100644 test/files/presentation/t8459/src/IncompleteDynamicSelect.scala
 delete mode 100644 test/files/run/t5530.flags
 delete mode 100644 test/files/run/t5532.flags
 delete mode 100644 test/files/run/t5614.flags
 create mode 100644 test/files/run/t8852a.scala
 ```