Little more work on graph data type. At the very least, this should be incorporated into the master branch and every sparse matrix type should consist of a graph + extra data, even if the old design pattern is being kept.