Initial implementation of the sparse matrix.
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.
Made the contracts work reliably, and identified and fixed the last errors detected by the contracts.
Fixed issues found by code review.
Merge pull request #24 from isupeene/initial_implementation

Initial implementation of the sparse matrix. Merged 24.