Updated code block UI and unit tests to use CodeCompletionServices

In this PR, I have updated the `CodeBlockEditor` UI class to use the new `CodeCompletionServices` APIs for code completion as well as rewritten unit tests to use `CodeCompletionServices` independent of the UI.

@Benglin PTAL.
For both Priority and Description properties, please create a task for them and remove those TODO comments. You know how TODO comments outlive all of us. When we decided a scheme to rank the items, then the scheme should be documented here so we know, as suppliers of completion data, what values to give them.

A link to the task to be included here for completeness, thanks!