Moved askReload calls to the Eclipse reconciler mechanism.

You can now register files for reloading in ScalaPresentationCompiler.scheduleReload
They are flushed at reconciliation, and reconciliation updates the error annotations

Fixing indentation.

proper structure for ErrorAnnotation update
Plugs in IJavaReconcilingListeners

Better interfaces
Essential tweaks in Problem annotation safety
Narrows down invalidated text region
Fix stale / ill-formatted code.

Fixes #1001454

De-activated test requiring ui
Fixed ``SemanticHighlightingPositionsTest``

With the new reconciliation strategy implementation, compilation units are not
reloaded by the presentation compiler at every buffer change. Hence, in the
semantic highlighting positions tests, we need to manually force the reload of
the unit after its content is changed, or the tests will fail because the
semantic highlighting reconciler would be performed on the old unit's content.

Reload the unit after its content is replaced
Normalises w.r.t deprecation and namespaces

reloads before interactive demands
adressing PR comments
cosmetics
constrains optimistic cast in ScalaReconciliationStrategy
more eager initialReconcile
Leave the reconciler delay at platform default
Makes (askL|l)oadedType(d)? unload new units after use by default

Fixes #1001388
Rename methods that have nothing to do with the PC, yet start with 'ask'

While this needs not be a strict convention, the less 'ask[A=Z]\w+' mathods that don't call the PC the better.<
Tie reload scheduling to the PC access methods.

Non-modularized, non-thread-unicity-enforcing version (for SH test complicance).

weaken loadedType agressivity on findOccurrences
Reestablishes Quickfix functionality

Provides an IcompilationUnit for ProblemAnnotations created out of reconciliation
 moved the check of presence of compilatioUnits from scheduleReloads to flushScheduledREloads
Hook back the reconciling participant extension point.

Removed the old `reconcile` override, based on the Java reconciler (no longer
used), and moved the only useful piece of functionality in the existing
`reconcile` method: the calls to before/after reconciliation.

There might be a better way to handle reconciliation decorations, but that
requires more work, and this PR should be focused only on quiescence.
Merge pull request #586 from dragos/issue/pc-should-start-after-quiescence-1001454-NoAskOptionWithReload-squashed

Make PC reloads start with quiescence (reloaded)
Update dependencies versions for Scala 2.11.0-M7
Merge pull request #587 from skyluc/new-scala-deps-versions

Update dependencies versions for Scala 2.11.0-M7
Fix tests to run on Windows platform

Changed line endings to LF and added .gitattributes file to enforce LF
line endings in future. Changed SbtBuilderTest to correclty check
classpaths on both Windows and Unix systems. Proper try/finally for
tests using createProjects added.

Fixes #1001981
Throw the exception return by the the presentation compiler

Only the Left side of the Either was taken in account. Adds pattern
matcher to display the real exception.
Merge pull request #590 from skyluc/issue/swallowed-exception-in-ScalaJavaMapperTest

Throw the exception return by the the presentation compiler
Merge pull request #588 from Kwestor/windows-build-1001981

Fix tests to run on Windows platform
Fix race condition in local rename refactoring

The local rename refactoring could cause a race condition (running a
presentation compiler method outside the PC thread), now it's safely
wrapped inside an ask call.
Harden asInstanceOfOpt to be robust for nulls or reflection crashes.
Reverts logic for unloading units in askLoadedType

The loagic for handling loading/unloading of units in `askLoadedType` was moved
in the compiler side. See https://github.com/scala/scala/pull/3209.  (Also,
mind that this commit should be merged together with the previously linked
scala PR).

This reverts most of the changes made in SHA:
43f8f2bdf4bd99cc85da7f54a0f374be737d4b2f

Re #1001388
Don't create a reconciler for non-editor source configurations.

In the Syntax Coloring preview pane we create a source viewer without an
editor. The reconciler needs an editor to get to the compilation unit, so
we don't attach a reconciler in this case (there won't be any editing).

We might need to revisit this if we ever want to use a source viewer outside
an editor (with reconciliation capabilities).