fix(parseKeyValue): ignore properties in prototype chain.

Previously, properties (typically functions) in the prototype chain
(Object.prototype) would shadow query parameters, and cause them to be
serialized incorrectly.

This CL guards against this by using hasOwnProperty() to ensure that only own
properties are a concern.

Fixes #8068
all browsers will fail this without this fix.

Currently, any query parameter name which shadows a property of `Object.prototype` will cause issues, notably `watch` in Firefox for which this issue was reported.