Started implementing iterable BFS's. These apparently shake out int two
distinct types of iteration sequences: vertices and edges. Of course the
edge iteration provides its own difficulties (i.e., with undirected edges)
so I had to introduce a new edge "concept" called a rooted edge, which
implements source and target functions and an adapter type for undirected
edges.
Started adding some basic test data.