added a graph_as_matrix adapter. this really just implementes the edges() function
for adjacency_lists, undirected_graphs and directed_graphs. it should be optimized
to use minimal degree iterations for bidirectional and undirected graphs.
changed default type selectors of [un]directed_graph from vecS to listS in order
to satisfy more general purpose problems - listS provides the most iterator and
descriptor stability.
implemented the adjacent_vertices() method (i forgot to satisfy that concept
earlier) for both [un]directed graphs.