Removed FIXME in `ScalaSourceFile` (Refactoring)

I thought the only way to get rid of the FIXME was to introduce a
`NullResponse`, which is why I believed it was a good idea to extract a pure
interface from `Response`. As the code demonstrates, it turns out I was wrong in
believing I needed a `NullResponse`.

As a side note, while I think it may still be a good idea to turn `Response`
into a pure interface, I realistically don't see a use-case.  Further, it turns
out that implementing the semantic of a `NullReponse` wouldn't be
straightforward, because the current implementation of `Response` is somewhat
incorrect in my opinion. The issue I see is that a `Response`'s answer shouldn't
change after it is `set`, however this is not enforced in the current
implementation (e.g., one could call `set` and aferward `raise`, and the answer
to `get` would be different depending if it's executed before or after the call
to `raise` - I would consider this a bug). Hence, it currently doesn't make much
sense to turn `Response` into a pure interface.
Do not use system properties to configure incremental compiler.

Since sbt 0.13.0 we have an official mechanism for configuring
incremental compiler: IncOptions class. The IDE has been partially migrated
to use that mechanism but one use of old mechanism (that relies on JVM
system properties) was left intact. The `incDebugProp` was used to enable
debugging of relations.

We switch to `IncOptions.relationsDebug` to control debugging of relations
and get rid of manipulating system properties.

This change makes IDE compatible with all sbt 0.13.x versions (including
0.13.2-M1).
Merge pull request #620 from gkossakowski/incDebug-property

Do not use system properties to configure incremental compiler.
Attempt to shut down any PC that just threw.

Alleviates the symptoms of error sin the class of #1002016.
Clean up .classpath files

Some .classpath files still contain references to SCALA_CONTAINER and
SCALA_COMPILER_CONTAINER which are not needed anymore. Furthermore
sdt.core explicitly references JavaSE-1.6 as its runtime environment
which shoudn't be included either because this doesn't allow a JRE
independent build.
SI-8151 Prepare for removal of -Yself-in-annots

Upstream, Scala will remove the `selfsym` field from `AnnotatedType`.

This commit removes its uses in Scala IDE:

  1. In debug printing code
  2. In a commented-out pattern match
Merge pull request #627 from retronym/topic/annotated-no-self-sym

SI-8151 Prepare for removal of -Yself-in-annots
Merge pull request #619 from dotta/wip/remove-fixme-in-scala-source-file

Removed FIXME in `ScalaSourceFile` (Refactoring)
Reformat old code.
Catch `JavaModelException` if a resource isn't there.

This code might be called for elements that were deleted. The original
code tried to be robust, but failed to treat checked exception `JavaModelException`.
Use the presentation compiler to check for existing types.

The original code relied on Java search, that can be slow and imprecise
for Scala types.
More robust handling of parse errors in formatter.

Return an empty mixup, rather than null.
Removed non-functional code for code generation.

Removed support for generating stubs for constructors
and inherited abstract methods:
* the UI doesn't show the section anymore
* ported constructor stubs to the presentation compiler, but
  disabled. Someone motivated could pick it up (works for simple cases).
* deleted code based on JDT type hierarchy for implementing
  inherited abstract methods.

This should fix JavaModelExceptions on class creation.

Fixed #1002006
Merge pull request #625 from dragos/issue/fix-new-wizard

Fix New Class Wizard JavaModelExceptions
Fix warning about adapted argument list

This warning became an error in 2.11 since scala/scala#3260, when
-Xfuture is enabled.
Updating the License to the latest Scala License.
Merge pull request #626 from sschaef/t-cleanup-classpath-files

Clean up .classpath files
Merge pull request #631 from sschaef/t-fix-last-remaining-adapted-arg

Fix warning about adapted argument list
Merge pull request #632 from huitseeker/issue/LicenseUpdate

Updating the License to the latest Scala License.
Only ask for diagnostics at first install and if heap is not sufficient.

Added PreferenceStore wrapper allowing to get options.

Fixes #1001113