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