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 
Well, it's only a couple of lines of code if they want that.

```ruby
builder = MatrixBuilder.create(:complete)
matrix.each_with_index{ |x, i, j| builder[i, j] = x }
```

I'd rather avoid possible feature creep here and keep things pretty minimal in the builder.