Test for reading JDK 8 (classfile format 52) class files.

This commit includes a test for reading JDK 8 (classfile format 52)
class files, in particular default (aka defender) methods. It uses ASM
to generate an interface with default methods then exercises that
interface from Scala.

Surprisingly no changes are necessary to the Scala code base to support
reading format 52 class files.

Because the test can only run under JDK 8, the JDK version is checked
and the expected output is synthesized for previous versions.
Refactor testing logic for only running under certain JDK versions

We had several tests designed to only run if the JDK version was at
least some specified version. This commit refactors that common logic
into DirectTest.
Merge pull request #2606 from JamesIry/2.10.x_classfile_52

Test for reading JDK 8 (classfile format 52) class files.