Add `dataRemoveData`

This way, a costly conversion from the custom data structure to a plain array can be avoided in cases like `someSet.remove(someOtherSet)`.
Avoid `Array#splice` where possible

Closes #17.