Directed Havel-Hakimi generator

Directed Havel-Hakimi generator and faster undirected version.

Addresses #706