Add Move Constructor and Move assignment operator to SparseMatrix

Describe the feature you would like to be implemented.

It would be great if SparseMatrix would also implement a move constructor/copy assignment operator.

Would such a feature be useful for other users? Why?

With move Constructors/Move Assignment operator, we can pass a SparseMatrix around without incurring a complete copy of the matrix everytime. SparseMatrix has already the SparseMatrix::swap() method, but move semantics would be more modern C++ style.

Any hints on how to implement the requested feature?

I think this is straightforward...?

Additional resources