Initial implementation of the sparse matrix.

@bsoetaer 
Tests pass when the contracts are disabled.
And in that case, disabling the contracts for our class can be controlled by a boolean.