src/goLanguageServer: fix a bug that prevented gopls start after forced update

When gopls is too old, the extension triggers the update of gopls, expecting that
gopls restart logic to run following the completion of the gopls update.
The restart logic kicks in, but the languageServerStartInProgress flag introduced
by change from https://go-review.googlesource.com/c/vscode-go/+/274250
to prevent restart request racing prevents the actual restart.

Set the languageServerStartInProgress flag just before starting the actual restart.

Testing is tricky - manually tested by building the extension with gopls enabled
by default and using an old gopls version.

Change-Id: I31f1144e82c2563c844e10cdd017ae3974f4c199
Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/282593
Trust: Hyang-Ah Hana Kim <hyangah@gmail.com>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Suzy Mueller <suzmue@golang.org>
diff --git a/src/goLanguageServer.ts b/src/goLanguageServer.ts
index 68b3996..fdd0708 100644
--- a/src/goLanguageServer.ts
+++ b/src/goLanguageServer.ts
@@ -121,7 +121,6 @@
 		console.log('language server restart is already in progress...');
 		return;
 	}
-	languageServerStartInProgress = true;
 
 	const goConfig = getGoConfig();
 	const cfg = buildLanguageServerConfig(goConfig);
@@ -147,6 +146,7 @@
 		}
 	}
 
+	languageServerStartInProgress = true;
 	const progressMsg = languageServerIsRunning ? 'Restarting language service' : 'Starting language service';
 	await vscode.window.withProgress({
 		title: progressMsg,