Started using iterator callbacks for graphs, which compiles & passes tests without breaking API
Minor fix for compliance with ifort
Changed some names of procedures
Combined both of the cs_matrix copy graph routines into one
Made a common procedure to assert correct dimensions for building matrix structure
Added dimension checks to setting a matrix's graph
Added a method for copying sparse matrices, compiles and awaits testing
Copying matrices works, but we need to reconsider whether building a graph should add a reference or not
Was adding too many references to graphs when copying matrices, need to be REALLY circumspect about this in future & document heavily
Matrix product now makes a copy in the event that neither factor can do row/column slices fast