Bump version for 2.12.x

For this step, we still depend on _2.11 libraries (partest, xml,
parser-combinators).

After we release the first milestone of 2.12, we will update
versions.property to bootstrap to 2.12 dependencies.
Disable MiMa on the 2.12.x branch
Merge pull request #3715 from retronym/topic/bump

Bump version for 2.12.x
Merge remote-tracking branch 'origin/2.11.x' into merge/2.11.x-to-2.12.x
@inline Predef.identity[A].

Since identity[A] is often used as a function directly supplied to
methods requiring (A)=>A, there's no need to have the generated
Function1 object contain an explicit call to identity[A]().

This implementation isn't going to change, so let the synthetic
Function1 elide the extra call, generating just "aload_1; areturn".
Make PartialFunction.OrElse extend AbstractPartialFunction.

This shaves a few kB off of the generated class file.
Merge remote-tracking branch 'origin/2.11.x' into merge/2.11.x-to-2.12.x
Merge pull request #3731 from retronym/merge/2.11.x-to-2.12.x

Merge 2.11.x to 2.12.x
Merge pull request #3740 from tvierling/trait-instantiation

Make PartialFunction.OrElse extend AbstractPartialFunction.
Deprecation of @BeanInfo
SI-8185 Correct grammar for single-warning compilation run
Merge pull request #3737 from tvierling/identity-inline

@inline Predef.identity[A].
Merge pull request #3746 from lrytz/beanInfoDep

Deprecation of @BeanInfo
Merge branch '2.11.x' into 2.12.x
adds MacroPlugin.pluginsIsBlackbox

This is an important omission in the current macro plugin API, which was
designed before the blackbox vs whitebox separation was implemented.

Even if one overrides pluginsTypedMacroBody and pluginsMacroExpand,
that would still be not enough to write a custom macro expander, because
typedImplicit1 uses isBlackbox, which is tightly coupled with the standard
way of reading/writing macro signatures.
macro args now correctly preserve range positions

Somewhen in the 2.11.0 development cycle we started duplicating macro arguments
for increased robustness. What wasn't taken into account though is that
Tree.duplicate destroys range positions. This commit fixes the problem.

2.10.x is unaffected by this bug, because it doesn't duplicate the args yet.
Merge pull request #3773 from lrytz/merge-2.12

Merge 2.11.x into 2.12.x
SI-6409  Stream flatMap leaks memory if mapper returns many empties

Added Scaladoc explaining that this is necessary behavior, but closed ticket as wontfix.
Make comment consistent with code
Merge commit '9e79885' into merge-211