Fix SI-6208.  mutable.Queue now returns mutable.Queue for collection methods rather than MutableList.
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.
Merge pull request #1152 from paulp/topic/fix-relative-tools

Absolutize tools.nsc => scala.tools.nsc.
Fixes SI-6189.

Disable @static for the REPL code.
The problem is that there are no companion classes generated for objects
that contain the top-level declarations in the REPL.
When there is no companion class, the selecting a @static field will translate
to a getter call, instead of to a field load.
Fixes SI-6236.

In separate compilation runs, the static field symbol in the
companion class of an object was not being recreated.
Given that the singleton object was compiled separately,
the static field symbol will be recreated on demand.
Merge pull request #1146 from paulp/topic/coloncolon-allocations

Hunting down eliminable :: allocations.
Merge pull request #1149 from paulp/topic/substmap210

Topic/substmap210
Use rawflags for checking FINAL flag.

Partially reverts 18efdedfb97de7ca9f6
Merge pull request #1151 from scalamacros/topic/cleanup

more cleanup in Macros.scala
Restored lastNoSuccess to Parsers.

It was in 2.9.2 and can't be removed without deprecation.
Merge pull request #1156 from paulp/last-no-success

Restored lastNoSuccess to Parsers.
Merge pull request #1154 from hubertp/2.10.x-issue/5676-fix

Use rawflags for checking FINAL flag.
cleanup for macroExpand

Error reporting is moved to ContextErrors to disentangle stuff in Macros.scala.
With logics and error reporting intertwined it was an awful mess.

Exceptions are used for the same reason. Instead of threading failures through
the code polluting it with options/ifs, I outline the success path.

It worked much better for typedMacroBody, but I'm also happy with the resulting
code of macroExpand. To me a major factor towards applicability of exceptions
was that they are short-lived and that there might be max one error per domain,
after which we unconditionally bail.
Improve efficiency of updated

Added utility method to create a HashTrieSet with two leaf HashSets with different hash
Used said utility method instead of creating a temorary HashTrieSet with an empty elems array
Added assertions to HashTrieSet to validate tree