Fairly big refactor: changed findOrCreateEdge method parameter order to
be in line with the rest of the class. Also changed access privileges
for DAGObjects such that they can only be created via DAG. Finally,
created a serialisation test to mimic the size of the processed DAG.