Fix SI-6208.  mutable.Queue now returns mutable.Queue for collection methods rather than MutableList.
Fixes backend crash due to incorrect consumedTypes

This started out as a compiler crash after Greg copied the
comprehension methods to List and made them final.

The culprit was the dead code elimination phase, which after
sweeping pieces of code was unable to restore the stack to its
original state, thus causing the ASM backend to crash notifying
the resulting bytecode is incorrect.

The dead code elimination phase uses the icode Instructions'
consumedTypes to determine what needs to be dropped from the
stack when an instruction is eliminated, but the consumedTypes
were only defined for a handful of instructions. So dce encountered
a DUP instruction for which it did not have consumedTypes defined
and did not restore the stack correctly.

The consumedTypes/producedTypes for icode instructions are
redundantly defined in 3 separate places:
 - Opcodes.scala (consumedTypes/producedTypes)
 - ICodeCheckers.scala (for checking icode)
 - TypeFlowAnalysis.scala (for computing types on the stack at each
program point)

Since the Opcodes types are the only ones visible outside, I suggest
we use them in ICodeCheckers.scala and TypeFlowAnalysis.scala too. But
we should make such changes after the release, as we're chilling out
by the lake with a glass of good wine: SI-6234

The relevant discussion around it can be found at:
https://groups.google.com/forum/?fromgroups#!topic/scala-internals/qcyTjk8euUI[1-25]

Many thanks to Paul for his help!

Review by @magarciaEPFL or @paulp.
adds the `skipPackage` attribute to Scaladoc

Present in http://www.slideshare.net/VladUreche/scaladoc-reflection
but not actually implemented in the ant task. Seems to be overlooked.
cleanup of reflection- and macro-related stuff

mostly removes [Eugene] marks that I left back then and reviews related code
some of those tokens got left in place, because I don't know to how fix them
without imposing risks on 2.10.0
materializeImplicit and implicitsOfExpectedType

Previously these guys were coupled in a single method. Now they are separated.
In my opinion that helps understanding the stuff going on in implicit search.
phaseId(currentPeriod) >= erasurePhase.id

Simplifies this expression found in Typers to just phase.erasedTypes.
Dominik's comments on api.Mirrors
macroImplSigs => macroImplSig

We no longer have multiple canonical signatures for macro implementations,
so it was time to put the List-List-List-based logic to rest.
further cleanup of transformTypeTagEvidenceParams
more macro cleanup
pull request feedback
Merge pull request #1145 from scalamacros/topic/cleanup

cleanup of reflection and macros
Merge pull request #1141 from VladUreche/issue/asm

Fixes backend crash due to incorrect consumedTypes
removes dead code
Optimization in SubstMap.

Don't create a new type with the same symbol.  This
modification avoids the creation of 30K types and a
similar number of symbols in a compile of trunk.

Also cleaned up / deprecated a couple other type mappers.
Merge pull request #1093 from jsuereth/fix/SI-6208-2.10.x

Fix SI-6208.  mutable.Queue now returns mutable.Queue for collection met...
shaves more than 150 lines off typedMacroBody
more cleanup for typedMacroBody
Absolutize tools.nsc => scala.tools.nsc.

Relative references to scala.tools which omit the "scala"
are uncompilable by themselves if you happen to have a directory
called "tools" which shadows scala/tools.  As we do in trunk.
Hunting down eliminable :: allocations.

With this commit, the number of :: allocations logged in total
after individually compiling each scala file in src/compiler
drops from 190,766,642 to 170,679,925.  Twenty million fewer
colon-colons in the world, it's a start.

For some heavily used lists like List(List()) I made vals so
we can reuse the same one every time, e.g.

  val ListOfNil = List(Nil)

The modifications in this patch were informed by logging call
frequency to List.apply and examining the heaviest users.

>> Origins tag 'listApply' logged 3041128 calls from 318 distinguished sources.

1497759   scala.reflect.internal.Definitions$ValueClassDefinitions$class.ScalaValueClasses(Definitions.scala:149)
 173737   scala.reflect.internal.Symbols$Symbol.alternatives(Symbols.scala:1525)
 148642   scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.transform(SuperAccessors.scala:306)
 141676   scala.tools.nsc.transform.SpecializeTypes$$anonfun$scala$tools$nsc$transform$SpecializeTypes$$specializedOn$3.apply(SpecializeTypes.scala:114)
  69049   scala.tools.nsc.transform.LazyVals$LazyValues$$anonfun$1.apply(LazyVals.scala:79)
  62854   scala.tools.nsc.transform.SpecializeTypes.specializedTypeVars(SpecializeTypes.scala:427)
  54781   scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.transform(SuperAccessors.scala:293)
  54486   scala.reflect.internal.Symbols$Symbol.newSyntheticValueParams(Symbols.scala:334)
  53843   scala.tools.nsc.backend.icode.Opcodes$opcodes$CZJUMP.<init>(Opcodes.scala:562)
  ...     etc.