SI-8589 Performance improvement for ArrayCharSequence.toString
[backport] transformers no longer ignore UnApply.fun

Backports 7122560063 and 4133eb8454 from the 2.11.x branch
Merge pull request #3752 from jeroentervoorde/SI_8589

SI-8589 Performance improvement for ArrayCharSequence.toString
Prevent SI-8314 by adding a test

The original issue was fixed already. This test is just for make sure.
Merge pull request #3904 from kzys/jira-8314-2.10.x

Prevent SI-8314 by adding a test
[backport] SI-7710 fix memory performance of RegexParsers in jdk7u6+

Backport of scala/scala-parser-combinators@91584dc.

---

Starting with 1.7.0_06 [1], String.substring no longer reuses the internal
char array of the String but make a copy instead. Since we call
subSequence twice for *every* input character, this results in horrible
parse performance and GC.

With the benchmark from the (duplicate) ticket SI-8542, I get:

BEFORE:
    parseAll(new StringReader(String))
    For 100 items: 49 ms
    For 500 items: 97 ms
    For 1000 items: 155 ms
    For 5000 items: 113 ms
    For 10000 items: 188 ms
    For 50000 items: 1437 ms
    ===
    parseAll(String)
    For 100 items: 4 ms
    For 500 items: 67 ms
    For 1000 items: 372 ms
    For 5000 items: 5693 ms
    For 10000 items: 23126 ms
    For 50000 items: 657665 ms

AFTER:
    parseAll(new StringReader(String))
    For 100 items: 43 ms
    For 500 items: 118 ms
    For 1000 items: 217 ms
    For 5000 items: 192 ms
    For 10000 items: 196 ms
    For 50000 items: 1424 ms
    ===
    parseAll(String)
    For 100 items: 2 ms
    For 500 items: 8 ms
    For 1000 items: 16 ms
    For 5000 items: 79 ms
    For 10000 items: 161 ms
    For 50000 items: 636 ms

[1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6924259
Merge pull request #3860 from gourlaysama/wip/t7710-backport

[backport] SI-7710 fix memory performance of RegexParsers in jdk7u6+
Merge pull request #3865 from xeno-by/topic/extractor-macros-210x

[backport] transformers no longer ignore UnApply.fun
[backport] SI-8787 Backport Regex doc

Backport the doc with two material changes:

1. need to use Groups to extract from Match,
so say that in lieu of the 2.11 advice that
the Regex instance can be used without
recomputing the match;

2. and relatedly, in 2.10 there is no secondary
constructor, so the doc for group names is
moved back up to the class doc.

Original doc update on PR #3923 was:

0e26910372d349c6ff7bbaa17fc8fe0bf568c5fe

f98c53cb03f800b3d790f3866ab90f827fd131f5
Merge pull request #3937 from som-snytt/issue/8787-doc-backport

[backport] SI-8787 Backport Regex doc
Merge commit 'b5759ef' into merge/2.10-to-2.11-sept-2
Merge branch '2.10.x' into merge/2.10-to-2.11-sept-2
Merge pull request #3958 from lrytz/merge/2.10-to-2.11-sept-2

Merge 2.10 to 2.11