Clean up Diagonal methods

- New subtraction, scalar multiplication, division methods
- New linear solver, eigensystem solver, singular solver methods
Add tests of Diagonal methods