Fix source file caching in presentation compiler.

Removed the sourceFile map altogether. Caching is performed now at the
level of `InteractiveCompilationUnit`, who may keep the last SourceFile
instance. The default implementation does not cache anything, but
`ScalaCompilationUnit` does.

In the process, removed a number of `withSourceFile` methods on project
and presentation compiler classes. These may break plugins.

Fixed #1001859
Add equals/hashCode for ScalaProject.
Added back `withSourceFile` and marked them @deprecated.
Re-enabled PC tests that pass now.
Reviewer's comment.
Merge pull request #516 from dragos/issue/thread-safe-source-files-1001859

Fix caching of SourceFiles
Merge pull request #541 from huitseeker/suppress-interrupted-exception

Pushes the output of InterruptedExceptions to debug log level
Merge pull request #548 from dotta/issue/remove-sbt-profiles

Issue/remove sbt profiles
Cleanup locate() and friends.

Conflicts:
	org.scala-ide.sdt.core/src/scala/tools/eclipse/LocateSymbol.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/ScalaPresentationCompiler.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/sourcefileprovider/SourceFileProviderRegistry.scala
Interactive scaladoc.

Add interactive scaladoc used when showing the hover and
when presenting scala symbol in the completion popup.

Fix #1000453, Fix #1000210.

Conflicts:
	org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/completion/CompletionTests.scala
	org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/testsetup/TestProjectSetup.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/LocateSymbol.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/ScalaHover.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/ScalaPresentationCompiler.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/ui/ScalaCompletionProposal.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/ui/ScalaCompletionProposalComputer.scala
	pom.xml
Fixes ScaladocGlobalTrait initialization

Packages for 2.11/2.10 source directories

Adds a basic doc test
Corrects PC thread confinement

Corrects Analyzer plugin initialization

Conflicts:
	org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/pc/DocumentationTest.scala
	org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/pc/PresentationCompilerTest.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/LocateSymbol.scala
Fix compilation unit tracking through enclosingPackageClass

Conflicts:
	org.scala-ide.sdt.core.tests/test-workspace/pc_doc/src/varz.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/LocateSymbol.scala

Conflicts:
	org.scala-ide.sdt.core/src/scala/tools/eclipse/ui/ScalaCompletionProposal.scala
Fix hyperlinking thread confinement
add packages & multi-source test cases
relax thread containment

Conflicts:
	org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/completion/CompletionTests.scala
	org.scala-ide.sdt.core/src-2_11/scala/tools/eclipse/ScaladocGlobalCompatibilityTrait.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/LocateSymbol.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/ScalaHover.scala
	org.scala-ide.sdt.core/src/scala/tools/eclipse/ui/ScalaCompletionProposal.scala
Simplified parsedDocComment

Conflicts:
	org.scala-ide.sdt.core/src/scala/tools/eclipse/ui/ScalaCompletionProposal.scala
Constraining the use of getJavaElement
Makes legacy locate available again
more thread confinement, more robust linkChoice
Prevent NSDNHO in LocateSymbol, minor fixes

Should be compatible with scala/scala/pull/2775
Faster enclosing position location for wordPos