Fix sparse learning

Hey Steve,

So, when I changed contingency table and VI to use sparse matrices, I tested all other functions in that module, but not in the agglo module, where I had actually broken learning. This PR fixes it by using the dense contingency matrix in agglo.

(sparse_min and max are from when I thought the row-wise max was the only thing broken. But it's not. They might come in handy later though.)