Starts adding structs to allow conditions to be placed on mmi move connections.
Tries caching the column map, to prevent allocations.
Removes unreachable code.
Small improvements to equivalence checker. Adds a get_row method to IntMatrix which accepts a return vector, so can cache the row vectors in EquivalenceChecker to reduce the number of allocations there.
Removes unneeded include.
Removes allocations in QuiverMatrix::mutate. These allocations came from a call to IntMatrix::get_row. Now created a static row and static column which can be used to store the row and column of mutating matrices, without needing to be allocated ever time.
Moves some getters for IntMatrix into the header, to see if it makes any difference. Answer: probably not.
Ups version number to match change in API.