Make sure that jars that are symlinked to extensionless files are loaded correctly
Implement thread retval for 1.9's Open3.popen3. JRUBY-6409

It turns out that the thread value returned from 1.9's popen3 is
actually easy to support by simply calling java.lang.Process's
waitFor method. This is, in fact, much more reliable than a normal
popen + waitpid due to our racing the JVM to the waitpid call.

There's still issues with the interactivity of the streams (on
some JVMs/versions) and overall JRuby process management, but this
patch should allow popen3 to work properly.

Unexcluded some popen3 tests that pass now, too (yay!)
Unexclude another popen3-related test that's working.
Add test for #823 (fixed in #824) for negative cert serial nums.
Properly raise when a file cannot be created exclusively.

Our logic did not atomically ensure a file would be created
exclusively. It did a pre-create check to see if the file existed
and would raise an error if exclusive creation was requested. If
the file did not exist, it proceeded to do the proper atomic
create call but ignore the return value. Another thread (or
process) could jump in between these two operations and create the
file. Our logic would then proceed to open a file it intended to
have created exclusively but which was actually created by another
thread or process.

The fix is simple: raise if an exclusive create fails and
exclusive creation was requested.

Fixes #827, and a rubyspec is in rubyspec/rubyspec#231.
Merge pull request #826 from ratnikov/fix-symlink-load

Support foo.jar that is linked to extensionless jar files
Fix #775

Prefer IPv4 by default.
*.bash files are text files
Prototype of using real native flocking instead of Java file lock.

Java file locking uses fcntl(2), which has visible behavioral
differences from flock(2) as used in MRI. Some of these may be
severe enough to warrant us attempting to do a native flock(2)
when possible:

* flock blocks if two fd's try to acquire exclusive locks
* fcntl only allows exclusive locks on files opened for write
* fcntl only allows shared locks on files not opened for write

There are disadvantages to using a native flock, however:

* flock does not work on NFS mounts
* Other JVM libraries will not see our flock locks
* Other JVMs will not see our flock locks (unless using JRuby)
* fcntl has other advantages over flock.

We will need to debate including this.

See #828 for details.
Need jnr-posix 3.0.1 for JRuby 1.7.5.
Update spec for new flock and match behavior.
Move jruby revision and default ruby version out of static block.
Add fast-path for multiplication that will not overflow.

This logic exists in MRI and this version was provided by Colin
Barlett (https://twitter.com/colinb8/status/350304330382979072).
Fix typo in f323c80
missing braces
Use shade plugin to produce lib/jruby.jar directly.
Merge branch 'pom-ng'
Make pom-ng.xml pom.xml.
Fixes to get compilation working on Java 6

* Add jsr292-mock to localrepo
* Bump jnr-posix to 3.0.1-SNAPSHOT
* Bump up memory for main compile phase
Remove compile-related targets from ant and call mvn.