Merge pull request #489 from elehack/feature/elehack-cli

Implement LensKit CLI (closes #448, #339, #447).
Decrease overhead of user-user memory finding

Pre-allocate item heaps to decrease user-user memory churn and performance
overhead.  Significant performance improvement.
Decrease memory overhead of sparse vectors

Only allocate channels when needed in mutable sparse vectors.
Decrease object-copying overhead of binary packing
Implement fast path for sparse vector sum
add user-user speedup to release notes