Small refactoring in `ScalaStructureBuilder`

Method `unresolvedType` does not need any argument.
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
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
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