Update of codebase to conform the rules of Scalastyle

This commit contains:

- Correction of tests that rely on trailing white spaces.
- A fix of a package name in a test unit.
- Removal of trailing white spaces and tabs in the whole project.
  The changes are all done automatically with the following
  commands:

  (Conversion of tabs to white spaces)
  find . -iname "*.scala" -print0 | xargs -0 sed -i 's/\t/  /g'

  (Removal of trailing white spaces)
  find . -iname "*.scala" -print0 | xargs -0 sed -i 's/ *$//'

- To is some content added to an empty Scala file to solve a
  Scalastyle warning.
Add Scalastyle plugin

For the beginning the only rules that are activated are rules that
check for the existence of trailing whitespaces and tabs.

To run the plugin manually simply type in:

  mvn scalastyle:check

This commits contains:

- A Scalastyle configuration file in `sdt.core`. It should be moved
  to the roor directory of Scala IDE once the Scalastyle Eclipse
  plugin is fixed (at the moment it can't read configuration files
  from non Eclipse projects).
- The main POM file is updated with all necessary information to
  run Scalastyle during the build.
- For all including projects, the POM files are updated to run
  Scalastyle during the build.
- The Scalastyle nature and the configuration file for the Scalastyle
  Eclipse plugin is added for each project.
Merge pull request #416 from sschaef/introduce-scalastyle

Introduce scalastyle
Synchronize access to `Names` in the presentation compiler.

This may lead to subtle errors, like the mysterious
assertion error in pickler.

Refs #1001607, #1001606
Use the configured JDK and Scala library when building.

Make sure the Sbt builder uses the configured JDK and
Scala library. Make sure Sbt does not infer some default
libraries for `-bootclasspath`, or the JDK used for running
Eclipse.

Fixed #1001387
Small refactoring in `ScalaStructureBuilder`

Method `unresolvedType` does not need any argument.
Merge pull request #422 from dragos/issue/synchronize-name-access

Synchronize access to `Names` in the presentation compiler.
Merge pull request #414 from dragos/issue/sbt-jdk-classpath-1001387

Use the configured JDK and Scala library when building.
Add syntax highlighting for task tags in comments

The behavior that detects task tags works nearly the same way as it
works for JDT. In fact most code is a copy of the JDT components,
which could not directly used because of incompatible super classes
and different preference stores.

Fixes #1001450
Delete color manager from AbstractScalaScanner and subtypes
Fix build for latest changes to Sbt master.

Move 2.10.x build to Sbt 0.13.0-SNAPSHOT because
the change is not source-compatible. That is not a problem,
as the next release off this branch would be on the next
stable Sbt release.
Add action to show a swing tree for selection.

This new action fires up the scalac tree browser on the
selected source in the current editor. This helps track
down position-related bugs, such as issues in hyperlinking,
hovers, completions, etc.

* also fixed 'race condition' errors in the spy view.
Update Scaladoc with task tag highlighting

It turned out that he new introduced `ScalaCommentScanner` can
be used to simplify `ScaladocTokenScanner` a lot.

The test suite has changed in so far that it relies now on the
output of the scanner directly instead of the separation of its
internal tokenizing logic.

Some tests had to be adjusted too. The old behavior would
unnecessarily complicate the scanner logic without improving
syntax highlighting much. Affected are only corner cases where
the new behavior doesn't make comprehensive differences.
Implemented `skipAllBreakpoints` for the Scala Debugger

The Scala debugger now reacts consistently to `skipAllBreakpoints` requests,
which can be triggered by users from the Debugger UI.

The enabled state of a breakpoint does now depend not just on the breakpoint
state, but also on the `BreakpointManager` state, which can be queried to know
if breakpoints should be ignored during a running debug session.  When a user
hit the `skipAllBreakpoint` button in the UI, the `BreakpointManager`'s
isEnabled state  is set to false, entailing that any enabled breakpoint should
be ignored.

Prior to this commit, we used to store in the breakpoint's marker a flag to
know if the `eventRequests` associated to the breakpoint were (or will, if
lazily loaded) enabled. However, using the breakpoint's marker for keeping
track of this information isn't safe, because markers can be shared across
multiple debug sessions. Now, this information is stored in the
`BreakpointSupport` actor.

Unfortunately, the above change made testing more difficult, as we need a way
to inspect the the `BreakpointSupport`'s requests state. At the moment, the
simplest solution was to add a new message `GetBreakpointRequestState` which
can be used to retrieve this information in tests. Considering we plan to
move away from actor, the tradeoff seems reasonable.

Fix #1001437
Merge pull request #424 from dragos/issue/fix-build-211

Issue/fix build 211
Removed all calls to `List.head` in `StructureBuilder`

Calling `List.head` is in general a bad idea, and that alone is good enough
motivation for not doing it. Furthermore, as ticket #1001707 demonstrates, the
call to `head` can throw an exception in the `ScalaStructureBuilder`.

The exception is likely thrown for Scala sources that contain type errors,
because not all expected information may be available in some of the inspected
symbols. For instance, a class is expected to always have at least one
superclass, however if there are type errors it is possible for a class symbol
to have no superclasses, and hence accessing the `head` of an empty `List`
will result in a `NoSuchElementException` being thrown.

This fix comes with no tests because the ticket didn't provide a reproducible
test case.

Fix #1001707
Merge pull request #425 from dotta/issue/structure-builder-throws-exception-1001707

Issue/structure builder throws exception 1001707
Merge pull request #423 from dotta/issue/skip-all-breakpoints-1001437

Implemented `skipAllBreakpoints` for the Scala Debugger
Merge pull request #407 from sschaef/t1001450-todo-markers

T1001450 todo markers
Correctly resolve overloaded Java methods in hyperlinking

The Scala selection engine didn't build the correct signature
for Java methods taking array parameters. It turns out that
the special-handling `mapParamType` wasn't needed, and the
existing `mapType` method in `ScalaJavaMapper` was already
working correctly.

Fixed #1000421