Allow for specifying the dictionary type

In order to allow for usage of dictionaries
that retain the addition order, or for dictionaries
that retain some other properties it is useful
to allow the digraph (and maybe in the future the
graph module) to take in a type that will be used
to construct dictionary objects when those types
are needed.