Fix a bug in causal consistency.

The set of good puts are those whose dependencies are also good puts; the
previous coding checked for puts whose (direct) dependencies have been observed,
but that doesn't account for the case where we know about the dependencies of an
op but some of the dependencies-of-the-dependencies are missing.