getPrototype() with IE6 and IE6+ compatibility

...ainObject() modification.

obj.__proto__ isn't defined in IE, the value is always 'undefined'.
This method return in IE with the obj.constructor.prototype property, which is equal with the obj.__proto__ value (when the browser defined this).

This method enabled the #654 issue related implementation in function isPlainObject().