SI-4728 test case
Merge pull request #3585 from lrytz/t4728

SI-4728 test case
Selectively revert "SI-8315 Better debugging facility for ICode"

This reverts commit 0561dd084b5f3c2678eb032a40b85cb25bb6d589,
because appending the phase name to the icode filename breaks
the windows build. Only doing it under -Ydebug.
Merge pull request #3586 from adriaanm/windows-opt-fail-revert

Revert "SI-8315 Better debugging facility for ICode"
Revert "SI-7624 Fix -feature warnings in scala/tools/scalap"

This reverts commit f2de2c4ec43180351ef1f306bcc5f24643ba5477 because it
broke both lift-json and json4s libraries that depend on scalap's APIs.
Arguably, those libraries shouldn't depend on unofficial APIs but they do
because they had no better alternative at the time (no Scala reflection).

The cost of breaking them is not worth minor change of the package.

The f2de2c4ec43180351ef1f306bcc5f24643ba5477 mixed two things:

  1. Fixing feature warnings
  2. Changing package name

When reverting (and resolving conflicts) I tried to keep 1. and revert just
2. However, there were also some questionable changes related to 1. that
got reverted. In particular, a package object with implicit members that
enable language features is an anti-pattern because members of package
object are visible both _within_ and _outside_ of the package. Therefore,
user could use wildcard import for importing everything from scalap
package and enabled postfixOps language feature unknowingly. I went for
just adding imports in just those few files where they were needed.

Amended by Adriaan:
To allow faster turn around, I re-enabled resolving partest from sonatype,
as its version needs to be bumped and I don't want to wait for maven central synch.

Conflicts:
	src/partest/scala/tools/partest/nest/Runner.scala
	src/scalap/scala/tools/scalap/scalax/rules/Memoisable.scala
	src/scalap/scala/tools/scalap/scalax/rules/Rule.scala
	src/scalap/scala/tools/scalap/scalax/rules/Rules.scala
	src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala
	src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala
Merge pull request #3588 from adriaanm/rebase-3587

Revert "SI-7624 Fix -feature warnings in scala/tools/scalap"
Bump akka-actor version to 2.3.0-RC4
test case that verifies SI-8352
Update ant build's update.versions mechanism.
Merge pull request #3589 from xeno-by/topic/whitebox-typecheck-expecting-unit

test case that verifies SI-8352
Bump versions for 2.11.0-RC1
SI-8281 check for unbound placeholder parameters in quasiquote parser
SI-8285 use correct kind of map for quasiquote positions

Previously mutable.ListMap was used with assumption that it preserved
order of inserted elements (but it doesn't). Surprisingly logic that
assumed ordered elements worked mosly fine on unordered ones. I guess
two bugs can cancel each other out.
SI-8333 can't use modifiers if class is in a block

Was caused by the ordering of parser cases. Need to check for definition
first due to the fact that modifiers unquote looks like identifier from
parser point of view.
SI-8275 allow to directly extract block contents of the case def

Due to the fact that blocks in cases are implicit one might expect to be
able to extract its contents with `..$`.
Fix block construction/deconstruction asymmetry

Deconstruction of blocks in case clauses uncovered asymmetry between
construction and deconstruction of blocks:

   tree match { case cq"$pat => ..$cases" => cq"$pat => ..$cases" }

Such an identity-like transformation used to produce an incorrect tree due
to the fact that zero-element block was mistakingly associated with
empty tree. Such association was used as a solution to block flatenning:

   val ab = q"a; b"
   q"..$ab; c"       // ==> q"a; b; c"

   val a = q"a"
   q"..$a; c"        // ==> q"a; c"

   val empty = q""
   q"..$empty; c"    // ==> q"c"

This commit changes meaning of zero-element block to a be a synthetic unit
instead. This is consistent with parsing of `{}`, cases, ifs and
non-abstract empty-bodied methods. A local tweak to block flattenning is
used to flatten empty tree as empty list instead.
Merge pull request #3591 from densh/si/8275

SI-8275 allow to directly extract block contents of the case def
Merge pull request #3593 from densh/si/8285

SI-8285 use correct kind of map for quasiquote positions
Merge pull request #3596 from densh/si/8333

SI-8333 can't use modifiers if class is in a block
SI-8332 implicit class param unquoting in quasiquotes

A new api that simplifies handling of implicit parameters has been
mistakingly supporting just methods parameters. This commit adds
support for class parameters too.