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.
I would strongly encourage ```CodeBlockCompletionTests``` be broken down into two:

1. ```CodeBlockCompletionTests``` which does not require ```DynamoModel``` and the baggage it brings, this class can optionally derive from ```UnitTestBase``` class, or no base class at all.

2. ```CompletionIntegrationTests``` which derives from ```DSEvaluationViewModelUnitTest```, this class includes all the tests that require ```DynamoModel```, ```WorkspaceModel```, ```EngineController``` etc.

You will appreciate how fast the tests without ```DynamoModel``` really are, trust me, it's worth it.