Constructs the NIM Matrix

Adds AdjacencyList because this will be easier to use over a Graph class
Removes Graph class