Initial implementation of the sparse matrix.

@bsoetaer 
Tests pass when the contracts are disabled.
So this decorator only adds contracts to methods that the class is missing correct?