Refactored manhattan_distances so that sparse matrices are also spliced into smaller pieces if the sum_over_features=True and the size of the full differences matrix would exceed memory limits.