Use hasOwnProperty checks in Object.assign

Because IE8 polyfills add enumerable properties, this doesn't play nicely.
So for IE8 compatibility we add this check. Slower though. :(
Merge pull request #2363 from sebmarkbage/assign

Use hasOwnProperty checks in Object.assign