Fix duplicate key rule incorrectly warns when defining properties that exist on Object.prototype

Given an object literal:

```ts
{
  constructor: function () {},
  hasOwnProperty: function () {}
}
```

The following incorrect warnings will be emitted:

duplicate key 'constructor'
duplicate key 'hasOwnProperty'

This PR fixes this issue. Includes a revision to the dupkey tests.

Please let me know if you have a CLA or anything that needs signing.