Use proper meanings when requesting information about a node

This means that for something like

```TypeScript
interface x {
}

var x = 10;

export = x;
```

`x` will get colorized and have different quick-info at each location.

First it will be an interface, then it will be a plain old variable, and finally it will be both.
should the Type checks be above the regular checks?