doc fix for Types.baseClasses to match spec definition of Linearization 5.1.2
SI-7110 Warn about naked try without catch/finally

Before, this was allowed:

    scala> try ( 1 / 0 )
    java.lang.ArithmeticException: / by zero

But since the advent of util.Try, the subtle difference to the
following seems dangerous:

    scala> import util.Try
    import util.Try

    scala> Try ( 1 / 0 )
    res4: scala.util.Try[Int] = Failure(java.lang.ArithmeticException: / by zero)

Discussion: https://groups.google.com/d/topic/scala-language/fy2vXD_3fF8/discussion

There was some concern that this curtails a handy, temporary
way to remove the exception handlers from some code. But after
thinking about this, I contend that:

 a) those people can easily stomach the warning temporarily
    (modulo, of course, those with -Xfatal-warnings.)
 b) putting this warning behind Xlint will disable it for those
    who need it most: beginners.

I also chose not to refer to 'scala.util.Try' in the error message
as I think that has as much potential to confuse as it does to clarify.
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.
Add () to side-effecting u1/u2/u4.

On good advice of reviewer.
Merge pull request #2341 from paulp/pr/java-acc-flags

ClassfileParser work.
Merge pull request #2337 from retronym/ticket/7110-2

SI-7110 Warn about naked try without catch/finally
Merge pull request #2320 from mighdoll/master

doc for Types.baseClasses has Linearization definition reversed from spec 5.1.2