* Separate helper methods from processing implementation
* Avoid having to load annotation processing during runtime.
* Fixes https://github.com/ruboto/ruboto/issues/545
Use frame class from block, not from context. Fixes #1318.

There's no frame from which to get the class, so we can't get it
from ThreadContext here. Get it from the proc.

Note that there's a more difficult issue here in that there's also
no frame/backtrace/etc on the ThreadContext for invoking a
TracePoint interested in these thread events. Fixing that might
mean making a frame be available at this point, making this fix
unnecessary...but either way the class reference used in this fix
will still be correct.
Merge remote-tracking branch 'origin/jruby-1_7'
Update stdlib to 2.1.0p0.
Revert breakage caused by my update of stblid.
Update tests from MRI 2.1 release.
Added multiple implementations of FileResource.

This prepares the transition to using FileResource rather than JRubyFile
directly for any areas where both jars and regular files are to be
supported.
Added stat method to FileResource and refactored RubyFileStat to make use of it.

This way RubyFileStat doesn't need to do any more custom logic for jars.
Reworked ChannelDescriptor to use resources.

Added visitor pattern to FileResource so that ChannelDescriptor can contain logic of how to open different resources.
Make RubyFile use FileResource
Fix RubyDir to use file resources
Remove special handling of the JAR files and rely on resources instead.

NOTE: This may incur a performance penalty when using globs with jars,
because the globbing code will faithfully follow **/* by looking up children,
whereas before it created a pattern and matched against all jar contents.
Make RegularFileResource return 'true' if it's a broken symlink