Refactoring of ScaladocAutoEditStrategyTest

The previous test class was difficult to work with because input
and expected output must be handled manually. The new test class
can compare input and output directly and is also able to check
the correct cursor position.
Refactorings in AutoCloseBracketStrategy

Since the old test suite is error prone, a new one is created. The new
test suite is able to compare full input and output and not only the change
events.

Furthermore AutoCloseBracketStrategy is renamed in BracketAutoEditStrategy
because the existing auto edit actions do not only close brackets.
Tycho 0.16 upgrade
Fix #1001394 Ignore source classpath entries that don't exist physically in the workspace.
m2e routinely adds optional CPEs for src/main/java, src/test/java even when
the directories are missing. SBT builder is not aware that they are optional
and aborts compilation.
Merge pull request #266 from sschaef/issue/auto-edit-strategy

Refactorings in AutoCloseBracketStrategy
Merge pull request #263 from sschaef/issue/comment-auto-indent

Refactoring of ScaladocAutoEditStrategyTest
Correct auto indent behavior in comments

The old behavior did not correctly indent text inside of comments
whereas the comments themselves are indented correctly. This commit
corrects the behavior by indent a new line to the same depth as the
previous line.

Another feature introduced is, that if the enter key is pressed while
the cursor is adjusted in an line not starting with a *, a completely
empty line is inserted instead of auto inserting a * sign at the begin
of the related line.

Furthermore, ScaladocAutoEditStrategy is renamed to
CommentAutoEditStrategy because this component does its auto edits not
only to Scaladoc but also to multi-line comments.
Fixes #1001326

This commit fixes ticket #1001326. Solved the problem by
overriding 'parseTree(source: SourceFile)' in
ScalaPresentationCompiler with an implementation that just
parses the source every time without trying to memorize
anything. Added tests that checked that

  1. You get a new parse tree every time you ask for one
  2. A parse tree should never contain any symbols or types [1]
  3. If you ask for a parse tree and then open the file it shouldn't
     change the parse tree you originally asked for, i.e. property
     2 still holds.

[1] There is an exception to this though. Some of the nodes that
    the compiler generates will actually contain symbols. I've
    chosen to just ignore these special cases for now.
Simplified ensureFolderExists function according to Iulian's suggestion.
2.9.x compatibility & refinement of symbol check

Had to modify the code a bit to make it compatible
with Scala 2.9.x. Instead of using dependent types
in a method signature I had to wrap the types in a
trait. Instead of using `Tree.forAll` I had to use
`Tree.exists` and modify the body of the predicate
accordingly.

I refined the symbol check so it doesn't match
against `Ident(nme.scala_)` but instead simply ignores
symbols that point to `definitions.ScalaPackage` This
is because `Ident(nme.scala_)` would ignore more nodes
than intended, i.e. `{ val scala = "awesome"; scala }`
would be ignored as well.
Merge pull request #262 from rkrzewski/master

Ignore non-existent source classpath entries
Merge pull request #269 from mads379/parsetree-1001326

Fixes #1001326
Removed old FIXMEs

The problem has been fixed by pr #251
Fix #1001310
Merge pull request #268 from sschaef/issue/correct-comment-indent

Correct auto indent behavior in comments
Merge pull request #270 from skyluc/issue/cleanup-todos-1001310

Removed old FIXMEs
Added CHANGELOG to repository

Following up on the discussion in the scala-ide-dev ML
(http://groups.google.com/group/scala-ide-dev/browse_thread/thread/97e05f5ab17ebfc7/ee2251ba5c5aa53f#ee2251ba5c5aa53f),
added a CHANGELOG to the repository.
Update CHANGELOG

Added a CHANGELOG item for the pull request you already accepted.
Merge pull request #271 from mads379/patch-1

Update CHANGELOG
Updated CHANGELOG
Update CHANGELOG