IList; safe, invariant cons list
operator tests; right-assoc append fix
removed Each instance
improved collectFirst, removed obsolete comment
Avoid syntax._ bindings in IList.

see https://github.com/scalaz/scalaz/blob/v7.0.5/doc/DeveloperGuide.md#using-type-classes
Some IList finality & improved inference.
Move Functor[S] constraint on Free out of structure, onto functions.
Move Functor[S] constraint on Cofree out of structure, onto functions.
Fix Free examples.
Merge pull request #619 from S11001001/topic/constraints-out-of-free-cofree

Move Functor evidence out of Free/Cofree data, ask for it on operations instead
Merge pull request #611 from tpolecat/ilist2

IList: safe, invariant cons list
some optimization and refactoring for IList