@bklare I think sparse matrices is a separate consideration outside the scope of this PR.

@caotto You are correct, readSimmat and readMask could be turned into one function. I think it's just a bit tricky to do though given the templated implementation currently used. Until they share a common implementation, I would consider saving masks as `.mtx` bad practice.