FIX: TypeError when Array has prototype extensions

I encountered this problem while trying to run JSHint in a browser when
Ember.js had already been loaded for integration tests.

If `Array.prototype` contains keys, JSHint will raise an error:

    TypeError: Cannot read property 'id' of undefined

This is happening when iterating through keys of a `tokens` object
without checking `hasOwnProperty`.

This fix adds the check for `hasOwnProperty` to the three places where
I discovered the bug occurred. It has tests to confirm the new behavior
works.