Made some of the mutators generic, so one can call add instead of add_value, add_dense_submatrix, etc
Added a new mutator to sparse_matrix which allows you to set/add matrix entries according to the block followed by the local index of the entry. Passes tests.
Matrix multiplication for composite matrices seems to work