Integrate with YAML extension to provide .gitlab-ci.yml autocompletion

### Problem to solve

Since ci files are not created many times we never get to memorize all the **keys** to achieve what we need.

When creating a new gitlab-ci file I normally have to copy stuff from an existing file or open the documentation to see what are the yaml keys to get things done.

### Proposal

Add code completions to the actual yaml keys allowed by the gitlab-ci file schema, along with their description.

This can be achieved already by making the following steps:

1. install the [YAML](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) extension
1. change your `settings.json` associate the `.gitlab-ci.yml` file with the correct JSON Schema
    ```json
    {
      "yaml.schemas": {
        "https://json.schemastore.org/gitlab-ci.json": ".gitlab-ci.yml"
      }
    }
    ```

We should simplify the integration with YAML extension to make it even easier for the users to enable `.gitlab-ci.yml` auto-completion.

We can recognize that the YAML extension is installed (`vscode.extensions.getExtension<GitExtension>('redhat.vscode-yaml')`). If it is, we can somehow suggest to the user, that we can add configuration to enable the autocompletion.

```json
{
  "yaml.schemas": {
    "https://json.schemastore.org/gitlab-ci.json": ".gitlab-ci.yml"
  }
}
```

### Further details

We should agree on the UX before implementation.

- Do we do this change automatically and only inform user that we've done it?
- Are we going to show pop-up message with a button which will add the configuration?
    - If users dismisses this message, should we show it again, or never suggest it again?
- What if they've already have some configuration in their `yaml.schemas`? We must ensure it won't get lost


<details>
<summary>This snippet shows the changes we could do to edit YAML's config</summary>

```diff
diff --git a/package.json b/package.json
index a17bd0c..8ab2ea9 100644
--- a/package.json
+++ b/package.json
@@ -353,6 +353,9 @@
     "configuration": {
       "title": "GitLab Workflow (GitLab VSCode Extension)",
       "properties": {
+        "yaml.schemas": {
+          "type":"object"
+        },
         "gitlab.instanceUrl": {
           "type": [
             "string",
diff --git a/src/extension.js b/src/extension.js
index 7d81215..bebf082 100644
--- a/src/extension.js
+++ b/src/extension.js
@@ -107,7 +107,7 @@ const registerCiCompletion = context => {
   context.subscriptions.push(subscription);
 };
 
-const activate = context => {
+const activate = async context => {
   const outputChannel = vscode.window.createOutputChannel('GitLab Workflow');
   initializeLogging(line => outputChannel.appendLine(line));
   vscode.workspace.registerTextDocumentContentProvider(REVIEW_URI_SCHEME, new GitContentProvider());
@@ -120,6 +120,9 @@ const activate = context => {
   gitExtensionWrapper.init();
   context.subscriptions.push(gitExtensionWrapper);
   vscode.window.registerFileDecorationProvider(fileDecorationProvider);
+  await vscode.workspace
+    .getConfiguration()
+    .update('yaml.schemas', { 'https://json.schemastore.org/gitlab-ci.json': '.gitlab-ci.yml' });
 };
 
 exports.activate = activate;
```

</details>

Story points: 1.0