Expose tendril dependencies for graphing

You can see in the first commit, I was producing graphviz format from tendril.  I moved this out into api worker.    Exposing the dependency graph in a simple data format (json) makes more sense to start.
Seems like this should work:

    return new Tendril()
      .dependencies(function(dependencies) {
        expect(dependencies).to.eql({});
      });

It doesn't work.  It's like an array not having a 'length' method until you've done something to it.  This screws up base cases.