Handle attribute names from `Object.prototype`.

Previously, any attribute (or other `NamedNodeMap` member) whose name was also in `Object.prototype` would cause some massive confusion, since `this._nodes[name]` was truthy even though it didn't exist in the hash. Switching to using `Object.create(null)` fixes this.

Fixes #625.
Version 0.6.5