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
would have been lost. This was the reason for flackyness of the hyperlinking test
`HyperlinkDetectorTests.test1000656`.

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.