Add functionality to auto enable new wizard elements

Fixes #1002191
Trigger auto activation of new wizard entries only once
Add constants for Scala file creators to `ScalaPlugin`
Apply reviewer comments

- Move `RichWorkbench` to `EclipseUtils`
- Remove early info logging, because it is not very useful and maybe
  even problematic due to possible deadlocks with stdout redirecting
Merge pull request #755 from sschaef/t1002191-enable-new-wizard-elements

T1002191 enable new wizard elements
Fix NPE in `AllMethodsTraverserImpl`

Fixes #1002217
Merge pull request #764 from sschaef/t1002217

Fix NPE in `AllMethodsTraverserImpl`
Add `ScalaDocumentProvider`

This class is necessary to overwrite the existing behavior of Java save
actions. Because the Java code is not extensible it is copied to the
Scala to `ScalaDocumentProvider` in order to call Scala save actions.
Start implementing API for Scala IDE extensions

This introduces several new traits in the new package

    org.scalaide.core.text

The main design goal of this text API is to provide a safe environment
users can work on. The entire API can't change the underlying documents,
it can only produce change objects that need to be passed to the IDE,
which can decide what to do with the changes.
Add save action support

This adds support to execute save actions in the
`ScalaDocumentProvider`.
Add remove trailing whitespace save action
Add new methods to Document API

Common methods are added: apply, head, tail, init, last (+ safe variants
that return an Option)
Add save action that adds new line at end of file
Add compiler support for save actions

It is now possible to choose if a save action should operate only on
a low level text API or on the entire API of the compiler.
Add save action setting functionality

This is an API extension that allows save action authors to show
information about the save action to users.
Add setting support to `RemoveTrailingWhitespace`
Add setting support for `AddNewLineAtEndOfFile` save action
Add preference page for save actions
Add preference initializer for save actions
Implement setting functionality in `ScalaIdeExtension`

This allows the logic that executes the save actions to filter out all
save actions that are disabled.