Convert all tests to Goconvey, ensure all tests make assertions, plus miscellaneous cleanup

Main changes:

* All tests use `goconvey` now, instead of a mix of `goconvey` and native `go test`
* All tests make assertions, instead of sometimes just printing stuff
* Remove lots of unused (or unnecessarily used) code; full list below, obviously open to discussion

Other changes:

* Make public `edf` funcs/types private where possible
* Replace a lot of panicking/infinite hanging with explicit error returns
* Remove redundant import renames
* No more errant logging/noise in code/tests

Deleted functions, packages, etc:

* `ParseCSV` func in `base` package.  Not used elsewhere, it's functionality seems mostly superseded by things like `ParseCSVToInstances`
* `FixedAlloc`, `GetSegmentSize`, and `IResolveRange` funcs in `edf` package.  Unused and untested.
* `logger.go` in `base` package.  Only one call site, seemed unnecessary, also untested.
* `cross_validation` package.  Unused within `golearn`.  Arguably people might have `mat64` matrices that they want to use with `golearn` without having CSV files to parse, so wouldn't be surprised if this package is wanted back.
* Print-related functions in `linear` package.  Only one call site, seemed unnecessary.
* `SortStringMap` (and related private funcs/types), `RandomArray`, and `ConvertLabelsToFloat` in `utilities` package.  Unused.