Creates an API for Scala plugin

Moved bulk of the code in the internal package.
Created 'public' IScalaPlugin trait and object with minimum interface
Moved used constants in new object SdtConstants, some name clean up
Updated the source to be compatible with the changes
Inlined composed constants
Add explicit return type to API method
Changes according to pr/745 review comments
Merge pull request #745 from skyluc/issue/API-ScalaPlugin

Creates an API for ScalaPlugin
Mark some completion tests as flaky.

See failed tests in the Scala compiler PR validators [PR3951](https://scala-webapps.epfl.ch/jenkins/job/pr-scala-integrate-ide/7999) and friends.
Merge pull request #774 from dragos/issue/flaky-completion-tests

Mark some completion tests as flaky.