Tell the compiler that we require 1.7.
I spoke too soon, reinstate the hackery.

Apparently Java 8, not Java 7, fixed intersection type handling. In any case, I
at least took care of the longstanding TODO to not emit Object in the list of
intersection types. And separated out the hackery to make it easier to replace
in the far far future when we can drop support for Java 7.