Correctly build projects that depend through exported dependencies.

The Scala builder optimised the case where the builder was triggered with
no changes in a project, by skipping the call to the underlying Sbt builder.
This is wrong when the project has no changes itself, but a dependent project has.

Fixed #1001904.

Consider for back porting to 3.0.x
Remove duplicate lines found by simian from core project

The command that found the duplicate lines is:

```
java -jar simian-2.3.34.jar
  'org.scala-ide.sdt.core/**/*.scala'\
  -language=JAVA\
  -threshold=4\
  > simian.txt
```

This also removes `SignatureSupport`.
Apply reviewers comments
Clean up code base

The new warnings of 2.11 made a great deal.

- Removal of unused code
- Change var to val when possible
- Remove unused imports
Fix warnings reported by -Xlint

Including:
- postfix operators
- reflective calls
- implicit conversions
- side-effecting nullary methods
Merge pull request #546 from sschaef/t-simian-cleanup

Remove duplicate lines found by simian from core project
Merge pull request #544 from sschaef/t-fix-warnings

Fix warnings
Merge pull request #553 from dragos/issue/builder-transitive-rebuilds-1001904

Correctly build projects that depend through exported dependencies.