Disabling autocomplete in string and comment contexts

Fix for MAGN-5099: http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-5099

Will add test cases shortly.

@Benglin please review
```int startPos = this.InnerTextEditor.CaretOffset;
   var code = this.InnerTextEditor.Text.Substring(0, startPos);
...
IsInsideCommentOrString(code);```

As you can see from this code that `IsInsideCommentOrString` assumes that the current position of the caret is always at the end of the input string `code`. I guess it is okay in this case given the context in which `IsInsideCommentOrString` is called. However I agree that the name could be misleading as well as it cannot be used as a generic API to handle the above case. Let me update this.