Revert "Remove (mostly) unused C print functions in linear package"

This reverts commit f9e41dec2860090e00dd1e0fb74c1beb79197ae5.
Revert "Remove hardly-used logger"

This reverts commit 151df652cab334066826f53d0c7ad8b48c884cae.
Many changes:

- fix memory management issues for large DenseInstances backed by AnonMode EDF files
- remove domain.go
- replace anonymous BaseEstimator field with named Data field on KNNRegressor and NB Bernoulli structs
- vast performance improvements for knn.go, but very hacky