MAHOUT-1464

The numNonZeroElementsPerColumn additions did not account for negative values, only counted the positive non-zero values. Fixed this in the in core and distributed case.

I added to Functions.java to create a Functions.notEqual. It may be possible to do this with the other functions but it wasn't obvious so I wrote one. The test is in MatrixOpsSuite, where is it used.

The distributed case was much simpler.

Changed tests to include negative values.
Using the vector aggregation framework will be very inefficient here.  We should either use Seb's suggestion or add properly scalable aggregation that doesn't depend on getting a vector view of a column.