Parsing and emit for computed properties

This is based on the plan in issue #1082. The type checker support, .d.ts generation and language service support (other than navigation items). I plan to work on the type system side next.
Do we do the "right" thing when a keyword should be rescanned as an identifier?

```TypeScript
var public = 10
var x = {
    [public]: 10
}
```