Applies changes needed to compile against Juno

Updates the jdt dependencies.
Implements the added and modified abstract methods.
Ligth cleanup of the poms.
Removes some helios support

- Remove helios reflection implementation from GeneralScalaJavaBuilder.scala
- Cleanup unused imports
Sets Eclipse profile in default params for build
Removes pre-Juno generic hack
Fix dependency on `org.junit4`.

In Kepler, there's only one bundle, `org.junit`.
Removes references to JavaStringAutoIndentStrategy

This is an internal JDT class, and its constructor changed between Juno and Kepler.
It was a blocker to be able to use the same build on both Juno and Kepler.
Less non-API reference is better.

The features lost are the one defined in the 'In string literals' in
Preferences>Java>Edito>Typing. They are about managing multiline content in simple string literals.
They didn't really make in the Scala context, where multiline string literals can be used.
Solve warnings about adapting argument lists
Resolve warnings about implicit conversions.

- Change implicit conversions to implicit classes
- Make implicit methods explicit when implicit is unnecessary
- Make some implicit conversions more explicit
- Reduction of scope of implicit conversions
Fix "catch all Throwables" warnings
Solve warnings about postfix operators
Solve warnings about side effecting nullary methods
Solve warnings about reflective access of structural types
Solve deprecation warnings
Merge pull request #454 from sschaef/t-resolve-warnings

Resolve warnings
Merge pull request #451 from skyluc/master-on-juno

Brings the changes from the juno branch
Merge pull request #459 from skyluc/master-on-juno-and-kepler

Juno binaries on Kepler
Cleanup locate() and friends.
Interactive scaladoc.

Add interactive scaladoc used when showing the hover and
when presenting scala symbol in the completion popup.

Fix #1000453, Fix #1000210.
Fixing some bitrot, prettyfication
Added correct initialization of Scaladoc-enables Presentation Compiler