Add UndirectedGraph structure and update docs

No concept of direction - so edges use (instead of from and to) an array
of edges that they connect (between).