Added the matrix builder contracts...

along with simple test cases to exercise each of the contracts.  Additionally, added a simple implementation of MatrixBuilder for constructing complete matrices.

Also added the file `matrix.rb` for adding the matrix contract to the built-in Matrix class.
@bsoetaer 
Might want to consider being able to initialize with a matrix as well. What if someone has a matrix and wants to change an element in the matrix?