Work in progress: abstract dim generates Matlab code!

So actually spits out Matlab code with abstract dimensions!  Probably there
are bugs though, especially around proper parenthesizing; should fold
AbstractDim._safe_str into __str__ so that parentheses get added under most
printing conditions and not just when multiplying/dividing.

Shouldn't take too much to get this working for Python and C codegens too.

Things are generally brittle; I've only implemented the AbstractDim operators
that seemed to be necessary for the CBP example, so there are likely to be
more needed to cover general case.