Add Process.unfoldEval, the effectful version of unfold

After adding `iterateEval`, I don't see a reason for not having `unfoldEval` :-)

I've also slightly changed `unfold`: only the call to `go` is wrapped in `suspend` and not its definition. It should not make a difference whether the definition of `go` is wrapped in `suspend` or not, right?