Added the matrix product chain optimization stuff
Added/ported the ScalaCheck properties from the prototype
Added/ported the basic ScalaUnit tests