Close presentation compilers which weren't used for specified time

Each PresentationCompilerProxy has some kind of activity listener which contains a timer checking periodically last activity time.
User can choose frequency in preferences (disable, set amount of minutes, decide whether open editors should be taken into account).
Unfortunately sometimes memory can't be freed when there are still open editors and user chose an option to ignore open editors. The reason is that a reference of a presentation compiler is still used somewhere. Tests performed using profiler and also empirical ones showed that this problem is related to implicits highlighting. Added code contains adequate comment related to this issue.

Also:
 - fixed memory leak - ScalaProjects were never freed due to a listener which wasn't removed
 - updated license links

Conflicts:
	org.scala-ide.sdt.core/src/org/scalaide/core/internal/ScalaPlugin.scala
	org.scala-ide.sdt.core/src/org/scalaide/core/internal/project/ScalaProject.scala
	org.scala-ide.sdt.core/src/org/scalaide/ui/internal/preferences/ScalaPreferences.scala
Tests for added listener

Also little changes in listener class itself to increase its testability. Thanks to them we even don't need to use mockito (which honestly wouldn't work in the case of ScalaPresentationCompilerProxy because it's final - and also adding PowerMock would be problematic due to OSGi and own classloaders).
Added another test

Also some little corrections
Rewrite preference page and update logic

- New, separate preference page (the old Scala page has been reverted to the previous version).
- Improved GUI.
- Added checkbox indicating whether this feature is enabled (instead of setting 0 as a value).
- The logic has been rewritten according to this change.
- More tests - test also changes in preferences.
Add hasOpenEditors to api.ScalaProject

Fixes after git rebase and corrected contribution notes.

Conflicts:
	org.scala-ide.sdt.core/src/org/scalaide/core/IScalaProject.scala
	org.scala-ide.sdt.core/src/org/scalaide/core/internal/ScalaPlugin.scala
Use only one, global timer

Also:
 - make killer tasks more lightweight
 - use whole strings in preferences to make them easier to search
 - log info about shutting down PS due to inactivity
 - remove copyright notes from files which existed previously

Conflicts:
	org.scala-ide.sdt.core/src/org/scalaide/core/IScalaProject.scala
	org.scala-ide.sdt.core/src/org/scalaide/core/internal/ScalaPlugin.scala
Corrections after rebase related to changes in ScalaPlugin API
Move open editors check from ScalaProject to ScalaEditor

So that ui-related operations are removed from ScalaProject API.
Merge pull request #765 from afitz/feature/close-unused-presentation-compilers-rebased2

Close ScalaPresentationCompilers which weren't used for specified time