Refactored the Contract module into two separate modules in preparation for implementing the contract decorator.
Added the ContractDecorator class.
Fixed the matrix builder test to actually test the sparse matrix builder.
Switched contracts to use the decorator pattern.