Fixed race condition during presentation compiler restart

* In the former implementation, if a request to restart the presentation compiler
was executed while the presentation compiler was being initialized, the reset request
could get lost. This was the reason for flackyness of the hyperlinking test
`HyperlinkDetectorTests.test1000656`.

* Revert "Retry `HyperlinkDetectorTests.test1000656` flaky test"
  This reverts commit 35091aebfa2785a192742407003ce1064b20a784.

Fixes #1001880
Removed uneeded locking in `ScalaProject.failedCompilerInitialization`

The reason why we were using the instance locking was to avoid showing several
times the message dialog that occurs when the presentation compiler fails to
initialize.

If you look close, you will notice that the lock is simply used to make sure
the update of the field `messageShowed` is atomic. Therefore, it is only
natural to replace the lock usage with an `AtomicBoolean` whih has very handy
operation for atomically setting its content, and return the previous one.
Need to figure out why with this commit the following tests fail:

Failed tests:   pcShouldReportTheCorrectCompilationUnitsOnShutdown(scala.tools.eclipse.pc.PresentationCompilerTest): Managed compilation units expected:<Set(ReflectiveAccess.scala (not open) [in t1000692.akka.util [in src [in pc]]], ThreadPoolConfig.scala (not open) [in t1000658 [in src [in pc]]])> but was:<Set(ThreadPoolConfig.scala (not open) [in t1000658 [in src [in pc]]])>
  pcShouldReloadAllUnitsOnReset(scala.tools.eclipse.pc.PresentationCompilerTest): Managed compilation units expected:<Set(ReflectiveAccess.scala (not open) [in t1000692.akka.util [in src [in pc]]], ThreadPoolConfig.scala (not open) [in t1000658 [in src [in pc]]])> but was:<Set(ThreadPoolConfig.scala (not open) [in t1000658 [in src [in pc]]])>

Tests run: 519, Failures: 2, Errors: 0, Skipped: 33