code: function run(g) {
    g.graph().dummyChains = [];
    _.forEach(g.edges(), function(edge) { normalizeEdge(g, edge); });
  }
docs: /*
  Breaks any long edges in the graph into short segments that span 1 layer
  each. This operation is undoable with the denormalize function.
  
  Pre-conditions:
  
  1. The input graph is a DAG.
  2. Each node in the graph has a "rank" property.
  
  Post-condition:
  
  1. All edges in the graph have a length of 1.
  2. Dummy nodes are added where edges have been split into segments.
  3. The graph is augmented with a "dummyChains" attribute which contains
  the first dummy in each chain of dummy nodes produced.