Use absolute value for LSQ regularization

L1 regularization should use the absolute value, not the real value, of the parameter to be kept small.
Least squares builder cleanup

Rearrange code to make Least Squares builder more readable
Rename least squares test

LSQ tests had wrong class name, so IntelliJ couldn't find them.
Retool some nullability annotations
Fix integer multiply warnings
Fix double-null-checks
Merge pull request #624 from elehack/feature/elehack-lsq-fixes

Fixes and cleanups for the least-squares scorer
EvalCLI warning fixes
Fix JavaDoc build error
Fix compiler warnings in lenskit-data-structures
Drop use of SolverException in lenskit-core
Drop use of SolverException in non-core modules
Clean up warnings in lenskit-core

Lots of these are fast collection warnings. Some are serial version UIDs, and a smattering of other warnings.
Fix KNN and slope-one warnings
Use non-raw types for Metric uses
Clean up more lenskit-eval warnings
Clean up warning in ML100K
Clean up lenskit-cli compiler warnings

- deprecated isCompressed() method
- strange gyrations with Ant project targets
Remove unneeded build system elements
apply base plugin in root project