(sliced_)ell_matrix, hyb_matrix: Added overload for STL-emulated sparse matrix.

Now a user can directly provide std::vector< std::map<IndexType, NumericType> >
to populate the sparse matrix. This was already possible for the other sparse matrix
types.
Self-assignment: Added test and fixed all bugs found.

Problems were only found in the matrix-times-matrix case.
Resolves #2.