Add slice utility

Relatively compliant slice -> array
@trevnorris my argument against delegating to `this.data.slice` is it would make handling negative start and end indices difficult, which can be nice but I suppose maybe overkill, and would likely be slower (this is a hot method for my use).

Played around with implementing a slice via native for a couple method and you'll probably have to still have to right a bunch of logic to handle the various `start` and `end` cases to prevent passing `NaN`

The pr itself was easy, copy paste of stuff I'd already written for another project