Graph Utility. Simple Graphs with Simple Edges

Graphs are immutable collections of paramterized Vertices (V) and
Edges (E extends Edge<V>).

Simple Graphs contain at most one edge between a pair of vertices
and do not allow loops (an edge v->v). Simple Graphs are created
using a SimpleGraph.Builder.