#1295 Added IMatrix::isSlice IMatrix::toSlice helper functions
#1295 Added Slice::isScalar Slice::toScalar helper functions
#1295 Matrix::isSlice, Matrix::toSlice accepting scalars
#1295 Attempted simplifications
#1295 Removed some Matrix:sub overloads
#1295 Matrix::sub(IMatrix, IMatrix) can accept vectors
Revert "#1295 Matrix::sub(IMatrix, IMatrix) can accept vectors"

This reverts commit b700168218805a08b48b5dac6b1862bb736b5ecb.
#1295 Hard deprecation of Matrix::sub(IMatrix, IMatrix).
Also Matrix::setSub and the same for MX deprecated.
#1295 Grounds-up refactoring of Matrix::sub.
Can't fix existing implementation so starting from scratch.
#1295 Grounds-up refactoring of Matrix::setSub
#1295 Grounds-up refactoring of MX::sub
#1295 Grounds-up refactoring of MX::setSub
#1295 Refactoring of Matrix::getNZ
#1295 Refactoring of Matrix::setNZ
#1295 Refactoring of MX::getNZ
#1295 Refactoring of MX::setNZ
#1295 Removed unit tests with now unsupported (IMatrix,Slice) indexing
#1295 Matrix::sub accepts matrix index if second index scalar
#1295 Matrix::setSub accepts matrix index if second index scalar
#1295 Fixed bug in new Matrix::getNZ