Added ensureAccessible to reflection library.

This method comes up with some frequency and there are a lot
of ways to write it either unsafely (failing to catch a likely
exception) or with inadequate generality (as was done in the
pre-existing version of this method in ScalaRunTime) so I
thought it warranted a place in the standard library.
Value class to represent jvm flags.

That clenching you feel in your gut when you watch the
Ints hurtling in all directions is your signal that a little
type safety is good for the soul. With this value class it
is now somewhat harder to confuse java bits with scala bits,
although not nearly hard enough.
Abstract over java.lang.reflect.{ Method, Constructor }.

No doubt there's some plausible explanation for this design:

  % java/lang/reflect/Method.java
  public Annotation[][] getParameterAnnotations()
  public Class<?>[] getExceptionTypes()
  public Class<?>[] getParameterTypes()
  public Type[] getGenericExceptionTypes()
  public Type[] getGenericParameterTypes()
  public boolean isVarArgs()

  % java/lang/reflect/Constructor.java
  public Annotation[][] getParameterAnnotations()
  public Class<?>[] getExceptionTypes()
  public Class<?>[] getParameterTypes()
  public Type[] getGenericExceptionTypes()
  public Type[] getGenericParameterTypes()
  public boolean isVarArgs()

Sun must have really been losing their grip there as the end
approached. This class fakes some of the missing common parent.
Fleshing out comments on JavaAccFlags.
Cleaning up error handling.
Brought some structure to the classfileparser.

I run out of ways to describe this sort of work: removes
code which does too much, too verbosely and too explicitly,
using too much indirection and too much duplication. Replace
it with code which offers less of these things.
Reduce duplication in JavaMirrors.

Applying some of the abstractions from the prior commits,
though I would like to emphasize that such infrastructure was
not a prerequisite for de-duplicating this file.