add toString methods to similarity functions
improve logging of item-item build process
Make item-item build sparsity configurable

Simplify the tests for similarity sparsity and symmetry when choosing the
neighbors to consider and make sparsity disablable.
Implement sparse item-item neighbor iterator
Make sparse neighbor iteration adaptive
Correctly compute universe size for symmetric sparsity
Build item-item build context with a provider