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.
CHANGELOG entry, bump major version
Explain new MonadPlus Iter instance, Cabbage example