Fix docComment asking forever in case of symbol not owned by a class
Remove persistence of PC doc comments.

Comments obtained by parsing are cleared at each typer run.

- fixes memory leak
- makes Scaladoc slower

It's possible (and easy) to reset those comments only at reconciliation,
but the test doesn't trigger reconciliation (it types all the time).
A more composed fix : clearing DocComments at each reconciliation

and Memory leaks test triggers reconciliation
Merge pull request #810 from huitseeker/hotfix/scaladoc-memoryleak

Control persistence of PC doc comments.
Remove the hard-coded InteractiveCompilationUnit from `ScalaHover`

The associated compilation unit may change (see #1002251) when the editor
is reused. On top of that, the structured editor in the Play plugin needs
a no-arg constructor (it’s instantiated through an extension point).

This change allows the Play plugin to use plain Scala hovers, including
all the goodies (configured font and CSS, scaladoc, etc).
Allow for dot in extension for SourceFileProvider registry.

Play templates are not just `html`, but `scala.html`. This change allows
one to declare a source file provider for them. Unfortunately, this makes
lookup linear in the number of providers, but hopefully that’s not a big
deal (so far we only have two).
A number of changes in the compilation unit APIs.

- added default implementations for a number of ICU methods. These are
  tricky aspects (like initial reconcile and scheduleReconcile) that are
  unlikely to change, and the compiler relies on a certain protocol
- added a `ScalaCompilationProblem` case class, extending the Java `IProblem`.
  This allows finer control over how errors are reported
- added the concept of a source map. This is how any compilation unit is
  translated to Scala, and provides way to translate positions back and
  forth.
- updated usages of compilation units to go through the mapping functions
- added a self-type, fixing the dispatch order for ask-methods to go again
  through `flushScheduledReloads`
- fixed the hyperlink selection region for operator names (it used to
  be according to the encoded name).
No more printlns!