Added Capretta's iteration monad transformer

* http://www.ioc.ee/~tarmo/tday-veskisilla/uustalu-slides.pdf
CHANGELOG: Added Control.Monad.Iter
Switched to `Control.Monad.Trans.Iter`
Proper use of MonadFree for Iter
Added `delay`
MonadReader IterT
Added the Coiter Comonad
better coiterT
better coiterT description
Major version bump for visibility
Update CHANGELOG version # and mention Coiter
Dropped IterF in exchange for Either
Rename iter to fold so we can repurpose iter later
Use a newtype, not data
Iter, iter, runIter
This _is_ a true monad transformer, actually
rename coiterT to unfold for consistency
Coiter, coiter, runCoiter
inlined Coiter methods
switched to standalone deriving for a couple of instances -- its cheaper