Switched back to the separate Vertex and DListNode

Talked to T.A., realized the old way (Vertex object has a pointer to
its own DListNode) was better/less messy.