Add common instances for LiftIO and MonadIO
put instances into the //// blocks for genTypeClasses
deprecate oddly-placed Kleisli and StateT effect instances
Merge pull request #661

Add common instances for LiftIO and MonadIO
Account for tighter definition of private in Scala 2.11.0-SNAPSHOT

SI-7475 fixed a hole in the the compiler, which does not allow:

	class C {
	  private def foo: Any = 0
	  def test(d: D) = d.foo
	}

	class D extends C

This was in line with:

> The private modifier can be used with any definition or declaration
> in a template. Such members can be accessed only from within the
> directly enclosing template and its companion module or companion
> class (§5.4). They are not inherited by subclasses,

Two choices here to comply: we could either ascribe to `==>[A, B]`,
which does have the member, or make it protected so it will be a
member of the subclass. I chose the latter in this commit.

Cherry-picking pull request #645 (e267458) from 7.0.x
Follow-up on 78ff758 for ISet
update to Scala 2.11.0-RC1
Setting version to 7.1.0-M6
Setting version to 7.1.0-SNAPSHOT