ENH: Refactoring and optimisation of sparsfuncs.pyx
ENH: Optimise sparsefuncs
a] Removed numpy overhead in finding mean
b] Removed enumerate
c] Added tests to test_sparsefuncs
d] Replaced multiple looping with a single loop
Moved sparsefuncs to sparsefuncs_fast
TST: Added tests for non-CSR/CSR format
Merge pull request #3007 from Manoj-Kumar-S/refactor_sparsefuncs

[MRG+1] ENH: Refactoring and optimisation of sparsfuncs.pyx