Issue #39. Tidied up code a bit. Also fixed crashing issue.

I narrowed it down to adding edges for overlap plugins - this wouldn't
cause an immediate crash, but would result in one later. Changing the
graph containers from vectors to lists fixed this (I noted that the docs
say that the lists have better iterator/descriptor stability).
Unfortunately, lists require extra work for saving and sorting, since
there's stuff missing in the backend (which is stupid, IMHO, behaviour
shouldn't depend on template parameters...), so those have been
commented out for now.