Update Object.keys

- cache reusable methods
- check for otherwise non-enumerable keys

Resolves #99