fixes #210: adds initial no-extend-native rule

Disallows directly modifying the prototype of builtin objects by looking for the following styles:

- `Object.prototype.a = "a";`
- `Object.defineProperty(Math.prototype, "times", {value: 'x'});`

It *does not* check for any of the following less obvious approaches:
- `var x = Object; x.prototype.thing = a;`
- `eval("Array.prototype.forEach = 'muhahaha'");`
- `with(Math) { prototype.thing = 'thing'; }`
- `window.Function.prototype.bind = 'tight';`

Took some code from David Nelson's pull request. Tests were written and pass. Fixes #210.