Fix SI-6208.  mutable.Queue now returns mutable.Queue for collection methods rather than MutableList.
.ensime template for compiler development

Provides a template of an .ensime file to be used for compiler hacking
together with an ENSIME-enabled text editor.

Also includes a readme that outlines what editors support ENSIME.
To the best of my knowledge these are Emacs, TextMate, jEdit and Sublime Text 2
HIDDEN => ARTIFACT

This test is necessary in the API to tell apart useful synthetic symbols
(such as accessors) and low-level compilation artifacts (such as $outer).

However `isHidden` (as it's currently named in the compiler) is too generic.
Hence I renamed it along with the corresponding flag. Now the test says
`isArtifact` and the flag is named ARTIFACT.

Despite being an improvement over the first version, `isArtifact` is
still a bit unlucky. The name I like is `isImplementationArtifact`, but that's
a mouthful to be used in compiler hacking. Moreover, IMPLEMENTATION_ARTIFACT
looks weird.

For a discussion about related stuff see:
http://groups.google.com/group/scala-internals/browse_thread/thread/d04e762127737968
https://github.com/scala/scala/pull/1114
don't crash on unsupported pattern -- diagnose
don't catch StackOverFlowError: kills performance

instead, use a recursion counter in negationNormalForm as in conjunctiveNormalForm
(except we only limit recursion depth, not formula-size
 reuse the same config variable in hopes it'll do for both)
Add Scaladoc flag to specify hidden implicit conversions
Merge pull request #1134 from adriaanm/patmat-misc

patmat tweaks: compiler performance, better error on unsupported pattern
Merge pull request #1136 from ingoem/scaladoc/implicits2.10

Add Scaladoc flag to specify hidden implicit conversions
Merge pull request #1137 from scalamacros/topic/ensime

.ensime template for compiler development
SI-6167 Override SeqLike#isEmpty for better performance

This results in a faster Vector#isEmpty (and head, tail, last, init)
because it avoids building a VectorIterator just to check if
iterator.hasNext is false.
Other classes which have not overridden the implementation of SeqLike
also benefit from it.
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
Merge pull request #1114 from scalamacros/topic/is-artifact

Introduces the `isArtifact` test for symbols