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.
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)
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
Removing the custom "non-idiomatic" eclipse preferences wrapper. And adding automatic editing of eclipse.ini.

Fixes after review.
Merge pull request #628 from huitseeker/issue/1001113

Only ask for diagnostics at first install and if heap is not sufficient.
Reinstating the JDT reconcile override in ScalaSourceFile.

It's still called by the JDT Indexer. Fixes #1002016.
This is a partial revert of ee2f5a7. See also [this comment](https://github.com/dragos/scala-ide/commit/ee2f5a7606647b0380fad1820d74b29ff01a096c#commitcomment-4675824).
Merge pull request #622 from huitseeker/issue/1002016

Reinstate call to JDT reconciler for side-effects
Package structure reorganisation.

This commit keeps all filenames unchanged, but builds a cleaner
package structure of the IDE.

There are only 5 top-level packages now:
- core
- ui
- logger
- util
- refactoring

Code is split in internal and API packages. Note that this commit
only touches directories, and the API work (clean up, documentation,
interfaces) will follow.

The guideline was to keep related code together. The only exception is
 ui code, that is moved to its top-level package. Additional dimensions
 (for example, following Eclipse concepts like launchers or preferences
 would make it too hard to decide what goes where).

Two unused files were removed:

- JVMUtils
- util/Colors.scala

This organisation makes it easier to see duplicated functionality (like
several RegionOps implicit classes). However, to keep things simple, that work is delayed to follow up PRs, so code changes can be independently 
and easily reviewed.