Adjacency List v.2

New version of an adjacency list.
nodes changed to a two-dimensional array which can store more
information about each node than just its pointers.
getlist no longer performs the calculation of the start and end of a
list from a list of pointers, it instead takes start and end as
arguments.