Fixing non-exhaustive yet straightforward matches
Hardens isCheckingClasspath

Removing unwanted changes in ScalaClassPath constructor (merge error).
Harden Settings toggling
Switch most of Classpathmanagement internals to using ScalaVersion
rahter than Strings
remove deprecations/unused from sdt.debug
Avoid possible exception on lost ScalaInstallation
Remove duplicate class
Split Scala Installation Management
Moves BuildSuccess and its Listeners to Pub/Sub
Introduces api.ScalaProject

Moves most of functionality to API package for ScalaProject

Documents the API trait.
Reviewer's comments

Linting:
- Try.toOption rather than match x2
- reverting the switch of sourceOutputFolders to a Map[IContainer, IContainer]
- split ScalaInstallation, ScalaInstallationChoice, ScalaModule in their own File

Comments:
- typo in scalaVersion
- Documented classpathHasChanged's parameter
- 2.10 mention in TextHoverFactory

Removals:
- scalaLibraryFile removal
- ScalaProject's jdkPaths removal

Renamings
- ScalaProjectMessage -> ScalaProjectEvent
- scalaLib -> scalaLibrary
- allJars() -> allJars
- directDependencies() -> directDependencies
- exportedDependencies() -> exportedDependencies
- transitiveDependencies() -> transitiveDependencies
- sourceFolders() -> sourceFolders
- outputFolders() -> outputFolders
- outputFolderLocations() -> outputFolderLocations
- storage() -> storage
- hasScalaNature() -> hasScalaNature
- isClasspathValid -> isClasspathValid()
- storage() -> storage
- prepareBuild() -> prepareBuild
- isUsingCompatibilityMode -> isUsingCompatibilityMode()
- getHashString() -> hashString
- getDesiredSourceLevel() -> desiredSourceLevel()
- getDesiredInstallationChoice() -> desiredInstallationChoice()
- getDesiredInstallation() -> effectiveScalaInstallation()
adds space instead of comma in multi-ticket display
Merge pull request #749 from huitseeker/multi-tickets-display

adds space instead of comma in multi-ticket display
Merge pull request #747 from huitseeker/issue/ScalaProjectAPI

An API for ScalaProject
Use UTF-8 for tests.
Update build-all script to kepler.
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