Added a Contract module to automate the inclusion of contracts.  Modified the existing MatrixContract module to conform to the conventions required by the Contract module, and use the const invariant.
Removed print statements from the Contract module.
Added informative error messages for the contract assertion failures.
Merge pull request #2 from isupeene/contracts_module

Added a Contract module to automate the inclusion of contracts.