Disallow reserved words as keys (fixes #1144)

This PR adds a rule for disallowing reserved words being used as keys, both on object initialisation and assignment:

```js
var superman = {
    class: 'Superhero',
    private: 'Clark Kent'
};

superman['default'] = 'Is it a bird? ...';
```

I suggest it is off by default, as many projects use reserved words as keys. However IE7 and IE8 do not allow this.
No, `dot-notation` needs an exception for these because it's not possible to use static member access for these members in an ES3 environment, and it need to make sure computed member access is used for *only* these members. This rule should only be about object literals.