Add support for layout using libgraphviz.

The new function, graph.graphvizLayout(g), returns a Tensor of size (n, 2)
containing the positions of the nodes in the recommended layout.

This allows one to take advantage of graphviz's layout algorithms
without being tied to graphviz's renderer.
Rename utils.lua -> graphviz.lua

It only contains graphviz routines, so this is more descriptive.
Merge pull request #6 from d11/graphvizLayout

Add support for generic libgraphviz layout