Merge pull request #24 from fizruk/master

MonadState and MonadReader instances for FreeT
added operations on free monad
fixed docs for retract
Merge pull request #26 from fizruk/master

Operations on free monad
TH-generated free monadic actions (see #29)
Merge branch 'master' of https://github.com/ekmett/free
fix the return type when param is not mentioned
fixed error messages
fixed comments
Started work on FT and added some instances
Fixed Foldable instance
Added Alternative instance
Apply and Bind instances for FT
F expressed in terms of FT
MonadIO instance for FT
added hoistFT
added MonadReader and MonadState instances for FT
added iterT for FT
added transFT
retract, iter and iterM for F (via FT)