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 
Turns out that `kind_of?` or `is_a?` (which are the same function, btw) will return true if the type is included into the object's type.  for example `[].is_a? Enumerable` or `[].kind_of? Enumerable` will return true.