MonadWriter for IterT (not proved to be correct)
removed redundant Functor m constraint
fixed MonadWriter instance for listen-tell law
Documented Template Haskell module for Free monad.
Added support for InfixC to Control.Monad.Free.TH. Extended docs.

The example can now be run by itself and interacted with. It also makes use
of the newly-added InfixC support.
a bit more readability for MonadWriter IterT instance
MonadWriter instance for FreeT
Merge branch 'master' into writer

Conflicts:
	src/Control/Monad/Trans/Iter.hs
MonadWriter instance for FT
Clarified behaviour of record types and notation in Control.Monad.Free.TH.
Explanations and examples for IterT and CoiterT
Documentation for Church-encoded free monad transformer.
Documentation for the free monad transformer.
Fix Cofree type synonym visible but not exported
Document Cofree, cofree and runCofree in Control.Comonad.Trans.Cofree
Documentation for free Applicative functors
Added references to Neil Ghani papers regarding Cofree monad instances.
Clarified documentation for CoiterT. Added ComonadEnv instance.
Lifted instances for Comonads (Store, Traced, Hoist) in the `comonad` package
Generalization from Iter to IterT m.