IndexedDB: Avoid side effects by evaluating key paths w/ HasOwnProperty
Although key path evaluation is always done against clones (so getters
are flattened into simple data properties), property lookups were
not restricted to inherited properties, allowing getters on prototypes
to be executed. This allows evaluation to be observable, and cause
Restrict the lookup to own properties, and introduce special-case code
for those non-own values identified in the spec as special cases.