Rewrote `DataStore.sort()` to be case insensitive and utilize a decision tree with native `Array.sort()`, fixes #420