This function finds the shortest path from each node to every other
reachable node in the graph. It is similar to [alg.dijkstra][], but
instead of returning a single-source array, it returns a mapping of
of `source -> alg.dijksta(g, source, weightFunc, incidentFunc)`.

This function takes an optional `weightFunc(e)` which returns the
weight of the edge `e`. If no weightFunc is supplied then each edge is
assumed to have a weight of 1. This function throws an Error if any of
the traversed edges have a negative edge weight.

This function takes an optional `incidentFunc(u)` which returns the ids of
all edges incident to the node `u` for the purposes of shortest path
traversal. By default this function uses the `outEdges` function on the
supplied graph.

This function takes `O(|V| * (|E| + |V|) * log |V|)` time.

[alg.dijkstra]: dijkstra.js.html#dijkstra

@param {Graph} g the graph to search for shortest paths from **source**
@param {Function} [weightFunc] optional weight function
@param {Function} [incidentFunc] optional incident function
function dijkstraAll(g, weightFunc, incidentFunc) {
  var results = {};
  g.nodes().forEach(function(u) {
    results[u] = dijkstra(g, u, weightFunc, incidentFunc);
  });
  return results;
}