[WIP] Sparse output KNN

WIP in early stages

- [x] Implement Cython CSR rowise mode function in sparsefuncs_fast
- [ ] Implement Cython CSR rowise weighted_mode function in sparsefuncs_fast
I have updated the code to eliminate zeros from the sparse matrix when it is initially cast to csc. I believe the if statement protects against running this insert when the sparse matrix is saturated sparse.