Add enum Kind { Digraph, Graph }, Labeller::kind and Arrow::default()
Add enum Kind { Digraph, Graph }, Labeller::kind and Arrow::default()

This allows graphs to declare themselves Digraphs (default) or Graphs.

The latter use keyword `graph` and edgeop `--` in the graphviz syntax,
the latter default to no arrows in their graph style.

Arrow::default() is the default arrow end, and represents the configuration
where no arrowhead/tail attributes will be emitted. Previous code using
explicit Arrow::none() or Arrow::normal() may start to emit additional
arrow end attributes with this change.

GrahamDennis/dot-rust