Adopt SnippetString API

With the December release VS Code will have real API to define a CompletionItem that is inserted as snippet, for details see microsoft/vscode#3210.

In short, we now support a subset of the more common TextMate syntax: $1, $2 etc define tabstops, ${1:value} and ${2:this is${3:nested}} placeholders, and $0 is for the final tabstop.

The API for this is contained in a new type SnippetString. It can be used as the insertText of a CompletionItem.

During a transition phase we will still support the internal, unspecified snippet syntax your extension is using but eventually remove it (roughly 2 or 3 milestones from now).

The language server protocol supports the SnippetString in its next-branch - see microsoft/vscode#15577 (comment)