SI-4270 Rename implicits to avoid name clashes.

This will fail implicit search in the next commit.
SI-4270 Disqualify in scope implicits that are shadowed.

If an expression wouldn't type check explicitly, it shouldn't be
allowed implicitly.

Employs typedIdent, which already does this sort of thing rather well,
instead of continuing to reimplement it in Implicits.

Remove check for non-implicit synonym, which is subsumed by typing an Ident.

Workaround Scaladoc oddity, by using an attributed select when the context
is deficient.
Don't crash if cpsParam is not on the classpath.

When checking if a piece of code needs the continuations plugin, the cpsParam classes may not be on the class path. Assume it does not need it in that case.
Don't use the BrowsingLoader for Java sources. 

When the presentation compiler needs a SourceLoader, instead of immediately adding the file 
to the compilation round it uses a fast parser to create symbols for all top-level class definitions. 
The fast parser assumes Scala sources, which is not always the case.
Don't require symbols to be loaded in the parser.

The parser special-cases primitive types. For comparing the name, it relied on having the symbols 
for primitive types already loaded, which is not always the case. The presentation compiler 
may parse sources for, say, scala.Int, and therefore the symbol for Int may not be yet available.
Remove NPE when `compileLate` sees sources during initialization.

When a symbol needed in Definitions is loaded, it may be that the corresponding source is newer than
the classfile. That will send it to `compileLate`, but no phase is yet set. We simply add it to the 
compilation pipeline and continue gracefully.
Refactoring and temporary commit before finishing the fix.
Merge branch 'master' into sbt-reflecton-fix
SI-4270 Refactor for efficiency and clarity.

Avoids allocation of the hashset used by shadowing checks when
searching in the implicit scope, and replaces three checks for
`if (isLocal)` with a sprinkling of polymorphism.
More fixups.
Fix for java parser edge case.

Empty statements are A-OK.  Closes SI-5910.  Review by @dragos.
SI-5617 Better error message for "x overrides nothing".

"It looks like you're trying to override a method", notes Clippy.
SI-4842 Forbid access to in-construction this in self-constructor args

The check was already in place for direct calls to the super constructor.
Without this additional check, ExplicitOuter crashes, as it doesn't create
an $outer pointer for the constructor-arg scoped inner object, but expects
one to exist when transforming the Outer.this reference.
enables reification of anonymous classes
Fix SI-4541.

Catch type errors when duplicating trees.
In this case, to access a protected member from a specialized
class is an error, so we would have to make the member public
anyway.
Better it is then to report an error and have the user make the
field public explicitly.

Review by @dragos.
Final clean up to get the build/testing working again.
improves showRaw

addresses concerns raised in http://groups.google.com/group/scala-user/browse_thread/thread/de5a5be2e083cf8e
Merge branch 'master' into sbt-reflecton-fix
Merge pull request #697 from retronym/ticket/4270-3

SI-4270 Disqualify in scope implicits that are shadowed.
Statistics reorganization

Statistics were broken since the move to reflect.internal. They are now
re-organized, made more robost and modular.