Improve test coverage

I updated the tests to cover 100% of the floats.go code, and eliminated edge cases in CumSum and CumProd.

The code has a variety of styles - I tried to match whatever the testing function was using.

None of the output to functions which output []float64 and also mutate an input []float64 are currently tested.