This is a *very* touchy commit that gets rid of a leaky abstraction in klp_matrix.length. This value should only represent the length of internal klp arrays (which correspond to non-zero positions in the graph), and not later on be used for the transition_matrix row_length. Instead klp_matrix.row_length now corresponds to that but next, transition_matrix will get wrapped into a struct as well to track this (along with row / column ordered and probability / rate matrix values)
mfpt_energy_grid -> mfpt_functions
Converted to TRANSITION_MATRIX, things appear to work. Now to cleanup.
No more KLP_MATRIX.row_length
MATRIX_TYPE macro
Rewrite of the MFPT code complete. That was damn touchy. Everything appears to work again. The data structures / abstractions are much better (more reasonable) now.
Updating tons of stuff for TRANSITION_MATRIX