Caching `Array.prototype.slice()` & `Object.prototype.hasOwnProperty()` within namespace closure scope, rewrote `utility.clone()` and `shallow` parameter, utilizing shallow clones in various methods
Merge pull request #402 from avoidwork/edge

Major refactoring