Fixes race condition during hyperlinking

Calling `Symbol.toString` outside of the Presentation Compiler Thread  can
result in a race condition, as demonstrated by the stacktrace in the ticket.

Fix #1002352
Merge pull request #873 from dotta/issue/race-condition-hyperlinking-1002352

Fixes race condition during hyperlinking
Update to .gitignore and .gitattributes
Shortening copyright messages from previous PRs
Debugger changes for expression evaluator

ScalaDebugger now capture frame indexes. Frame indexes are needed
to evaluate expressions on stack frames differrent than current one.

Correct SuspendPolicy handling. Before, debugger always suspended thread,
now suspending whole VM is correclty handled.

DebugTarget now stores classpath of underlying project, which is used to
load files to inspect for generics, imports etc.

Minor corrections to ScalaClassFile.

Some minor boyscouting here and there.
Implementation of expression evaluator based on JDI

Allows user to evaluate any Scala expression in context of some breakpoint
during debug. Expression is transformed in multiple phases and evaluated
using calls to remote, debuged machine and result is fetched back to user.

Because of complexity of Scala language, implementation details of JVM
platform and necessity for manual evaluation not all Scala features are
supported yet.

Co-authored-by:
 - Pawel Batko <pawel.batko@gmail.com>
 - Piotr Kukielka <piotr.kukielka@gmail.com>
 - Jerzy Muller <sidus.gemini@gmail.com>
 - Michal Pociecha <michal.pociecha@gmail.com>
 - Krzysztof Romanowski <romanowski.kr@gmail.com>
Test suite for operations on primitives

Test includes:
 - `!`, `==`, `!=`, `<`, `>`, `<=`, `>=` on Booleans,
 - `||`, `&&`, `&`, `|`, `^` on Booleans,
 - `+`, `-`, `*`, `/`, `%` on numerics,
 - bitwise `&`, `|`, `<<`, `>>`, `>>>`, `^` on integrals,
 - unary `+`, `-` on numerics and unary `~` on integrals,
 - type conversion (`toXXX`)
 - and various other methods defined in `ScalaNumberProxy`,
   `RichXXX`, `Fractional` and `Integral`.

This test suite was extracted from previous commit to ease review process.
Implementation of conditional breakpoints

Based on expression evaluator.
User interface for expression evaluator

Complete with history command, tree view for values, simple content
proposal and multiple configuration parameters.
RunSelectionInInterpreter action added

Runs currently selected text in expression evaluator view.
AUTHORS file updated with names of expression evaluator authors
Ignoring tests for conditional breakpoints

Those tests hangs on Scala IDE Jenkins, but we could not reproduce those
hangs neither on Linux nor on Windows so we could not fix it.