WIP SI-7990 better -Xstrict-inference

So far just an exploration of the terrain.

	qbin/scala -Xstrict-inference
	Welcome to Scala version 2.11.0-20131118-101937-c243435f11 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_37).
	Type in expressions to have them evaluated.
	Type :help for more information.

	scala> sealed abstract class Box[+A]; case class BoxF[A](f: A => A) extends Box[A]
	defined class Box
	defined class BoxF

	scala> def blah = ((BoxF((_:Int)+1):Box[AnyVal]) match {case BoxF(f) => f; case _ => ???})
	warning: there were 1 feature warning(s); re-run with -feature for details
	blah: ?A1 => ?A1 forSome { type ?A1 }

	scala> def blah2 = (blah, blah)
	warning: there were 1 feature warning(s); re-run with -feature for details
	blah2: (?A1 => ?A1, ?A1 => ?A1) forSome { type ?A1; type ?A1 }

	scala> blah2 : ((A => A, A => A) forSome {type A})
	<console>:13: error: type mismatch;
	 found   : (?A1(in value res0) => ?A1(in value res0), (some other)?A1(in value res0) => (some other)?A1(in value res0)) where type (some other)?A1(in value res0), type ?A1(in value res0)
	 required: (A => A, A => A) forSome { type A }

	              blah2 : ((A => A, A => A) forSome {type A})
	              ^