Added a Matrix2D class to abstract away frequent operations on a 2D matrix
Changed the Transition distributions so they use the new Matrix2D class