feat(errors): propagate errors for dependencies

Adds basic error handling to dataDepend.

* Upon a producer error, the respective data handles $error attribute
gets updated with a reference to the error
* Dependent producers / consumers get notified the error took place

Closes #2