[MRG] Sparse multilabel target support in metrics

This introduces a series of helper classes that abstract away aggregation over multilabel structures. This enables efficient calculation in sparse and dense binary indicator matrices, while maintaining support for the deprecated sequences format.
np.dot(np.diff(X.indptr), sample_weight)?