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.
Why do things get added to the Promise prototype instead of the Tendril prototype?  Is that effectively monkey patching bluebird?