Fixed Partition ownership issue by pushing all of the partition data into a contents object, and changing Partition to be a simple handle ala Schedule, Function, Expr, Stmt, etc... This required me to store a Schedule object directly in Partition and thus a Function object directly in Matrix. The new paradigm is that Matrix/Partition are the linear algebra front-end equivalents of Func/Stage. I still have some details to work out with scheduling, namely how do we introduce intermediate schedules in the matrix operators in such a way that they play nicely with explicit shceduling?
Matrix multiply tests are running using the class and a multi level partitioning scheme. Vectorization is currently turned off due to a quirk in the scheduling processes. Timing results are nonetheless better for small matrices that previously known schedule.