IndexedDB: Bindings edge cases - set 'own' values, ignore prototypes
When deserializing IndexedDB keys and values to script, we should
bypass values and setters on the prototype chain and special-case
implicit properties like string/array length.
Some one-use functions were inlined to make the code easier to read.
BUG=475100
R=adamk
Review URL: https://codereview.chromium.org/1057233005
git-svn-id: svn://svn.chromium.org/blink/trunk@194626 bbb929c8-8fbe-4397-9dbb-9b2b20218538