SI-7899 Allow by-name inference under -Yinfer-by-name

As usual, the hole has been exploited in the wild. While you
can't abstract over by-name-ness without running into the
ClassCastException or an un-applied Function0, there are cases
like the enclosed test where you can tiptoe around those
cases.

I've proposed a small change to Scalaz to avoid tripping over
this problem:

   https://github.com/scalaz/scalaz/pull/562/files

But this commit I've also added a transitional flag, -Yinfer-by-name,
that they could use to back-publish older versions without code
changes. It is also an insurance policy for other projects that
might be exploiting the same hole.