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.
Can't see what goes beyond the right without scrolling. Wouldn't this be nicer?

```cs
var expected = "AddWithValueContainer : ValueContainer[] (valueContainer : ValueContainer)";
Assert.AreEqual(expected, overloads.ElementAt(0).Stub);
```