Don't abort for libraries that modify Array.prototype (MooTools, maybe more)

While a somewhat-dangerous practice, existing users do do this,
and we shouldn't abort on it. Using hasOwnProperty is a simple
way to make sure we're checking the dense array itself, not the
prototype.