Directed Simple Graphs

SimpleGraphs have a DirectedBuilder which enables the creation
of Directed and BiDirectional edges.

BUGFIX: addEdge(V,V) does not allow the source and destination
to be the same.

GraphBuilderTests now share a common abstract test class to improve
readability and ease of modifcation
Test Suite for SimpleGraph Builders
Weighted Directed Graphs

SimpleGraph provides a WeightedDirectedGraphBuilder to build
the weighted directed graphs.