Fix crash when getting member completion for an object literal

The following code caused a crash:
```TS
function f(a: { xa?: number; xb?: number; }) { }
var xc;
f({
    $
```
This changes the find the relevant token at the beginning of getCompletionsAtPosition. This fixes the crash, but the following case still does not work:

```TS
function f(a: { xa: number; xb: number; }) { }
var xc;
f({
    $
```
This represents the next item to be done, which is making the type checker give us the right contextual type.
Might worth writing a helper function

```TypeScript
function isClosingPunctuation(kind: SyntaxKind) {
    switch (kind) {
        case SyntaxKind.CloseBraceToken:
        case SyntaxKind.CloseParenToken:
        case SyntaxKind.CloseBracketToken:
            return true;
        }
    return false;
}
```
or maybe

```TypeScript
function isNonClosingPunctuation(kind: SyntaxKind) {
    switch (kind) {
        case SyntaxKind.CloseBraceToken:
        case SyntaxKind.CloseParenToken:
        case SyntaxKind.CloseBracketToken:
            return false;
        }
    return isPunctuation(kind);
}
```
and special casing this.