No need to call setIsStructureKnown, as it is already done by the caller

In ``ScalaCompilationUnit#buildStructure``, there is no need to call
``setIsStructureKnown`` on the current compilation unit, as it's the
caller's responsability to do so.
``ScalaSelectionEngine`` uses now a ``ScalaCompilationUnit`` (instead of a
``ICompilationUnit``)

Both ``ScalaSelectionEngine`` constructor and the ``select`` method started
with casting the passed compilation unit to ``ScalaCompilationUnit``.  Beside
not being safe, this unsafe cast is actually not needed.
Better implementation of ``ScalaProject.sourceFolders``

No need to traverse the collection twice.
Minor refactoring in ``testsetup`` classes

* Removed ``ScalaUnit`` type alias and replaced usage of ``ScalaUnit`` with ``ScalaSourceFile``.
* Added explicit method's return type.
* Changed signature of ``SDTTestUtils.addFileToProject``: the passed ``content`` is now an ```Array[Byte]`` instead of a plain ``String``.

Note: This commit should be probably backported in 2.0.x branch
Created infrastructure for find references tests
Correctly find references of class fields

Fix #1000067
Index parameterless methods

Parameterless methods occur in the Scala AST as ``RefTree`` nodes.

Re #1000067
Improved find references of methods

When looking for references of method `xxx`, the method itself should not be
reported as a match. Indeed, find references is about finding usages of `xxx`,
not the declaration (and that is why a find declaration action exist).

Re #1000067
Correctly handle find references on field declarations

When Find References was performed on a val/var declaration, a popup dialog
used to be shown saying:

> The operation is unavailable on the current selection. Please select a valid
> Java element name.

The issue is in the compiler symbol found for the val/var declaration.
It turns out that the symbol's name can contain a trailing space, which
caused the equality test between the editor's current selection and the
symbol's name to always fail.

A test was also created to prove the issue is now corrected.

Re #1000773
Tested find references for both constructor and type

Created tests to check that:

* class' constructor references are correctly reported.
* class' type references are correctly reported (also for type bounds).

Fix #1000063
Correctly handle find references on class type

In ``ScalaMatchLocator.reportObjectReference`` only object references are reported, hence we are not interested in constructors. That's why we look at the element's parent if a ConstructorElement is returned for the passed position. The reason why in ``ssf.getElementAt`` can be a constructor has to be looked in the implementation of the ``ScalaStructureBuilder`` and ``ScalaCompilationUnit.getSourceElementAt``.

Fix #1001084
Tested find references for companion object members.
Added FindReferenceTests to regression suite
Added comment in ``ScalaStructureBuilder``
Integrated code review comments pull #125
Added FIXME note in FindReferencesTests
Forward verbose messages from the presentation compiler.
Merge pull request #125 from dotta/issue/initial-support-find-references-1000868

initial support find references 1000868
Merge pull request #132 from dragos/forward-pc-verbose-messages

Forward verbose messages from the presentation compiler.