fix CompositionApplicativePlus

Cherry-picking pull request #364 (8cfe778)
Explicitly pass type class instance.

This is a workaround for an appararent regression in type inference
/ implicit search between Scala 2.10.1 and 2.10.2-RC1. The underlying
issue is being investigated by the Scala Team.
rename effect ToIdOps to avoid name collision with core ToIdOps
Revert "rename effect ToIdOps to avoid name collision with core ToIdOps"

This reverts commit dd19dbd3241cfdb23f6992da849bbad556670cec.
rename effect ToIdOps to avoid name collision with core ToIdOps - and ignore the binary incompatibility
Adds mapM to StreamT

mapM threads a per-element monadic effect through the stream

Cherry-picking pull request #363 (b944293)
fix Function1Comonad#cojoin

Cherry-picking pull request #385 (055e0b3)
Make glorified Foldable `identity`s into actual `identity`s.

Cherry-picking pull request #386 (bcbff83)
different fix for syntax.effect.id being incompatible with syntax.id that avoids breaking binary compat
avoid allocate unnecessary new objects

Cherry-picking pull request #402 (1856686)
fix NumericPLens

Cherry-picking pull request #404 (cd6a5b7)
fix infinite loop bug of Traverse[EphemeralStream]

old implementaion of `traverseImpl` calls `Traverse#foldRight`
this cause following infinite loop

```
[error] scalaz.EphemeralStreamInstances$$anon$2.traverseImpl(EphemeralStream.scala:107)
[error] scalaz.Traverse$Traversal.run(Traverse.scala:36)
[error] scalaz.Traverse$class.traverseS(Traverse.scala:58)
[error] scalaz.EphemeralStreamInstances$$anon$2.traverseS(EphemeralStream.scala:107)
[error] scalaz.Traverse$class.runTraverseS(Traverse.scala:61)
[error] scalaz.EphemeralStreamInstances$$anon$2.runTraverseS(EphemeralStream.scala:107)
[error] scalaz.Traverse$class.foldLShape(Traverse.scala:100)
[error] scalaz.EphemeralStreamInstances$$anon$2.foldLShape(EphemeralStream.scala:107)
[error] scalaz.Traverse$class.foldMap(Traverse.scala:104)
[error] scalaz.EphemeralStreamInstances$$anon$2.foldMap(EphemeralStream.scala:107)
[error] scalaz.Traverse$class.foldRight(Traverse.scala:107)
[error] scalaz.EphemeralStreamInstances$$anon$2.foldRight(EphemeralStream.scala:107)
[error] scalaz.EphemeralStreamInstances$$anon$2.traverseImpl(EphemeralStream.scala:118)
[error] scalaz.EphemeralStreamInstances$$anon$2.traverseImpl(EphemeralStream.scala:107)
```

Cherry-picking dc67e99
add clearing of message from tail node to avoid memory leaks when queue is empty and no new messages come

Cherry-picking pull request #396 (718ef70)
object Cofree extends CofreeInstances
add fix utility for functions, and test that it can be used.

Cherry-picking parts of #410 (79e2e36)
Setting version to 7.0.1
Setting version to 7.0.2-SNAPSHOT
backported IO trampolining fix
Bump Scala version to 2.10.1, workaround for broken for-comprehension

See <https://gist.github.com/vmarquez/5106252/> and the mailing list thread
<https://groups.google.com/d/msg/scalaz/FqCWOmSEwUY/cchJirGmbeYJ>.

Cherry-picking commit bc2a6a4
Lens -> State integration returning the old value

- provides `LensFamily.modo` which returns the old value (as an alternative to `LensFamily.mods` which returns the new value)
- provides `LensFamily.assigno` which returns the old value (as an alternative to `LensFamily.assign` which returns the new value)

Cherry-picking pull request #324 (613068370fae6276f4bcd35ce629c9cb69eb3c6c)