fixes a bug in a weak cache in runtime reflection

Entries in SynchronizedTypes.uniques could previously be garbage collected
in-between a successful call to contains and an actual cache lookup.

The patch could be a one-liner, but I don't want to use HOFs
in this function, whose prototype is a hotspot in the compiler.

Also the fix doesn't touch scalac in any way. It only applies to
reflective universes that provide runtime reflection functionality.
Removed obsolete migration test.

Arrays are not Seqs: a fact known by all and sundry.
Defanged dummy type arguments.

Spending a few hours on yet another tpe vs. tpeHK bug drove me
to finally go after the dragon in his cave. I created a separate
method for when you want to receive an invalid type which will
cause mysterious crashes later if it is out of your sight for five
seconds.

  def tpeHK : Type // unapplied type params stay unapplied
  def tpe_* : Type // unapplied type params applied as dummy args
  def tpe   : Type // if there are unapplied type params, ABORT

Actually it doesn't really abort, but I had it print a stack trace
during development so I could track down every site which blindly
calls tpe and see why they were doing it. Now it only admonishes
you under -Ydebug.

This way is a big step forward: you have to make a choice, which
is good, because if you choose not to decide you still have made a
choice, only mostly what you have chosen is bugs.
Cleanup in old Typers code.

Using established facilities for doing established things.
Hardening in appliedType and Subst*Map.

All driven by the knowledge gained from logging all the
calls to tpe and appliedType and seeing what was coming
through there.  Some needless type creation is avoided in
the maps, and appliedType will squawk to those who listen
when it sees something out of order.
All the actual changes of tpe to tpe_* or tpeHK.

These are the call sites which formerly could be seen to
call .tpe on a symbol with unapplied type parameters.  Now
each such call site makes an explicit choice about what is
intended for the result type.
Overhauled documentation and structure of tpe/tpeHK/etc.

Trying to make the code structure as hotspot friendly as
I can, which is no mean feat.
Merge pull request #1439 from scalamacros/topic/reflective-uniques

fixes a bug in a weak cache in runtime reflection
SI-6436 Handle ambiguous string processors

Before, we got in an inifinite loop by chasing
the error typed result of adaptToMemberWithArgs.

One point of befuddlement remains: why did t6436 and t6436b
behave differently before this change?
Revised restrictions for value classes and unversal traits

and brought compiler in line with them. One thing we can accept IMO are nested
classes (nested objects are still a problem). In fact, it makes no sense to
exclude nested classes from value classes but not from universal traits. A class
nested in universal trait will becomes a class nested in a value class by
inheritance. Note that the reflection library already contains a universal trait
with a nested class (IndexedSeqLike), so we should accept them if we can.
Fixed problem in SI-6408

Fixed problem reported in comment, where inner classes of value classe caused a compiler crash.
Put more implementation restrictions on value classes.

Nested objects, classes and lazy vals are disallowed at any
nesting level in value classes; e.g. lazy vals local to a
method defined in a value class. There are still allowed in
universal traits.

This is a temporary, implementation restriction that is planned
to be addressed in future releases of Scala. Error messages has
been updated to communicate that intent.

Moved tests for SI-5582 and SI-6408 to pending folder. They have
to stay there until implementation restrictions are addressed.

Closes SI-6408 and SI-6432.

Review by @odersky, @harrah and @adriaanm.
SI-6451: Rename classes in `unchecked-abstract.scala` test.

As reported Miguel, `Con` is problematic name of a class on Windows
and makes this test to fail. Renamed classes to something else which
hopefully make Windows build happy again.

Closes SI-6451.

Review by @magarciaEPFL or @paulp.
Merge pull request #1446 from retronym/ticket/6436-2

SI-6436 Handle ambiguous string processors
Merge pull request #1443 from gkossakowski/anyval-restrictions

AnyVal/value classes restrictions
undeprecates manifests for 2.10.0

Since scala-reflect.jar is going to be declared experimental for 2.10.0,
it doesn't make sense to deprecate manifests in favor of type tags.

Class manifests, however, ARE deprecated for class tags, because class tags
don't require scala-reflect.jar and are generated independently of type tags.
Merge pull request #1451 from gkossakowski/SI-6451

SI-6451: Rename classes in `unchecked-abstract.scala` test.
SI-6471 Update jquery from 1.4.2 to 1.8.2

This reopens SI-6170 that was fixed by 1be1f760. I don't want to start
a revert war, but I see two reasons we should stick to newer jquerys:
 - they provide better compatibility to new browsers
 - having diagrams not working is much more annoying than having the
splitter not work
Replaced some <code> comments.

With the far more readable not-html comments of modern times.
Worked over inferMethodAlternative.

We shouldn't let these core methods become so complicated. They are
way harder to follow than is necessary. It is why nobody ever fixes
the bugs in them. This is only the beginning really. So many things
in the compiler would border on trivial to fix if one didn't have to
navigate so much cruft and indirection.

Here are some methods which no longer exist:

 - hasExactlyNumParams. A dubious name for a method
   containing the expression "len <= n + 1".

 - resolveOverloadedMethod. A method which returns a list
   of symbols can't be resolving all that much.

 - isUnitForVarArgs. Take a guess as to what that method does.
   Ha ha, you were not even close.

Still on my hit list:

 - "very similar logic to doTypedApply in typechecker"
   I find a good rule of thumb is never to write a comment
   which paraphrases to "this is very similar to that."

This entire patch is the fault of a. moors for trying to
cherry-pick a comment of mine from github into trunk. This
patch hopefully makes the comment unnecessary.