Failure

I have implemented both monitor and kill primitives. Kill respects the semantics proposed in the paper, nevertheless, monitor is different.

The monitor operation returns the pods of the vnodes that replicate the dataflow variable to monitor. Thus, the caller of the monitor operation can monitor them and decide what to do in case of failure. In the paper we proposed, that the monitor call returns the head of a failure stream. For me, the approach of returning the pods seems to be more general and useful; also, easier to implement.

This is completely open to discussion, I just implemented something since we did not have monitor and kill operations at all.

I open the pull request, no because it is finish but to trigger a discussion. I have also added as test to prove that works; nevertheless, we need to force all operations in the vnode to return error in case the dataflow variable has been already killed. I cannot do this until @marsleezm finishes his part.