Refactor DirectTest so java can be tested.

There was no way to make a java compilation unit.
Now there is.
SI-7398 Add support for java8 default methods

In classfile parser: mark symbols which represent interface
methods yet have code attributes with new flag DEFAULTMETHOD.
These must be kept distinct from regular method bodies so that
an error can be issued when a regular concrete method is
overridden without the override keyword, but not when the
overridden method is a default.

In java source parser: mark Modifiers of interface default
methods with DEFAULTMETHOD flag.

Writing the test was everything I dreamed, and more! However,

  % test/partest --debug test/files/run/t7398.scala
  Skipping java8-specific test under java version 1.7.0_21
  testing: [...]/files/run/t7398.scala                                  [  OK  ]
  All of 1 tests were successful (elapsed time: 00:00:04)

  % test/partest --debug test/files/run/t7398.scala
  Attempting java8-specific test under java version 1.8.0-ea
  testing: [...]/files/run/t7398.scala                                  [  OK  ]
  All of 1 tests were successful (elapsed time: 00:00:13)
Merge pull request #2456 from paulp/pr/jdk8-210x

SI-7398 Add support for java8 default methods