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.
No, it's used for the initial call.
e.g:
```js
// First method after instantiation
new Tendril().on()
new Tendril().include()
new Tendril().crawl()
```

It doesn't make sense for some methods to be there (like resolve) and some would conflict with Bluebird (like resolve)