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.
It may need to be specialized. One interesting case that may break with this code is:

```TS
var v: { x: number } = { }/*cursor*/
```

We would certainly not want to get member completion there.