Fix foldl' strictness for Control.Monad.Free.Church
Redefine Alternative/MonadPlus for Iter

The definition now applies to any underlying monad, not only those
which are instances of MonadPlus themselves. The new behaviour is
not backwards compatible.
Cabbage example for MonadPlus instance of Iter
Explain MonadPlus instance of Iter
Add `unsafeIter` function, specializes `retract`
Bump version to 5.0