solve #149
Merge branch 'problem149'
add generator for #150
break out Array2D interface and AbstractArray2D base class from Matrix class, to serve as bases for new Triangle class.
Add Triangle.toMatrix and re-express problem 18 and 67 data as Triangles
solve #150