use snapshot of gem-maven-plugin
Same concurrency fix for constant cache as in 631edd5.
Reduce (or eliminate) data races in constant cache.

Because previously the constant cache for non-indy and AST used
multiple fields updated independently, there was always a chance
that two threads might splice their updates of those fields
together. This could cause an old value to be cached with a newer
invalidator/generation, resulting in a stale value being returned
forever. While we did not have reports of this in the wild, I
opted to fix it now.

The new caches use an immutable tuple containing all cache data
for a given constant. The tuple is set up as follows:

* Grab the invalidator for the constant name. JRuby, like MRI,
  invalidates constants globally and by name.
* Get the current "generation" object from the invalidator. This
  happens before getting the current value to ensure the
  generation is at least current or older than the value, but
  never newer.
* Get the current value for the constant. If the generation
  changes inbetween acquiring it and getting the value, the worst
  case is that the next read of the constant will have to recache.
* If the constant is acquired from a specific module, save that
  module's Java hashcode. This value never changes, and is used
  to identify that we're still looking at the same module as last
  time.

This does mean an additional object is created for every recache,
and every constant lookup site will eventually have such an object
associated with it, but the additional allocation should be rare
and the memory increase should be negligible.

Note that this issue does not affect invokedynamic-based caching
of constants, since they already store constant cache data within
the method handle tree in a way similar to the new tuple.
Hopefully fix a racy test.
Rebuild to latest ng
Ignore empty strings after splitting on '_'.

Fixes #1006.
Add test case for #1006
Remove inadvertently added IntelliJ files [skip ci]
Update RubyGems to 2.1.2 release

Done by `jruby -S gem update --system` and resetting `bin/jgem`.
use released gem-maven-plugin
adjust bin stubs to use /usr/bin/env (using inlined ruby in pom) #1001
Pull ConstantCache out and add utility for checking it.
Check for opthash being null. Fixes #1007.
Merge branch 'master' of jruby.org:jruby
Additional fix for #1007 to avoid null ecopts.
Remove logging of null ecopts that snuck in.
Never use core runtime cache for user classes. Fixes #1004.

The "index" of a RubyModule is only non-zero when it's one of our
known native core classes. All other classes end up with zero.
Since we use this index to offset into the core method cache (in
Ruby.getRuntimeCache() or ThreadContext.runtimeCache) we must
check for index == zero and not use the cache in that case (e.g.
in Helpers.invokedynamic() which calls Helpers.getMethodCached().
added osgi manifest entries [skip ci]
maven-3.1 is also supported now [skip ci]
Merge branch 'master' of jruby.org:jruby [skip ci]