fix EphemeralStream#reverse

Cherry-picking pull request #471 (f4f19bc)
optimize EphemeralStream.apply

Cherry-picking pull request #471 (e9a0e00)
optimize ListOrder. avoid stack overflow

Cherry-picking pull request #472 (22342da)
override ephemeralStreamInstance#foldLeft. avoid stack overflow

Cherry-picking d3d810d0
equalContravariant should be implicit val

Cherry picking pull request #475 (64fb75e)
Explicit return types for type class instances for Future/Task/Input

Works around a bug in Scala 2.10.3-RC1, which is will be fixed
shortly in https://github.com/scala/scala/pull/2860.

But it's a good practice to annotate these types in any case.

Cherry-picking pull request #479 (f988d13)
EphemeralStream#zip crashed on unequal lengths; fix & test.

Cherry-picking ab4e4b6
Make Foldable#intercalate nonstrict.

Cherry-picking df24e68
compile under 2.11.0-M4

add a couple of explicit type parameters

Cherry-picking c0f3a29fb9