Use deleteat! instead of splice! in linalg/sparse

If the array type of a sparse matrix is such that elements are initially allocated as #undef, then splice! will fail to remove the extra elements since it returns the values, giving error: access to undefined reference.

Adding test first to show failure case in Travis, then will commit fix.