Don't complete promise multiple times
Don't complete promise multiple times

After cancellation, the `BspTask.resultPromise` is completed three
times:

    1. BuildToolWindowReporter.actionPerformed
    2. End of BspTask.run
    3. BspTask.onCancel

JetBrains/intellij-scala,JetBrains/intellij-scala