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.
I think this is related to #764. I will get this fixed next.