Finished most of the bfs implementation and a number of little bug fixes and tweaks to various data structures.
Formalized the directional edge concept and imlemented a wrapper for it.