Add spec on Process.spawn with non-existing command.
Process.spawn with non-existing command sets $? accordingly.

Errors gotten from the pipe beetween the current process and the
forked one are now matched against Errno::NOENT.
A positive match means the launched command doesn't exist in
current PATH, thus $?'s pid and exit code must be set to the dead
process' and 127 respectively.
Adding spec for backreferences to keep matched string's class
Fixing named captures not being original class

Subclassing String and applying a Regexp.match on it will result in
named captures ($1...9, $`, $+, $&) that are of class String, not the
original subclass.

This incorrect behavior is illustrated here:
  class MyString < String; end
  /(name)/ =~ MyString.new("name")

  $1.class
  => String

This patch corrects this behavior to:
  class MyString < String; end
  /(name)/ =~ MyString.new("name")

  $1.class
  => MyString

To fix this problem, the MatchData functions now change the klass of
their output strings to that of the MatchData's original source string
before returning.
Make configure --llvm-path check llvm version

The --llvm-path configure option was missing the check
for the llvm-config version.  This caused a problem with
setting the llvm_api.

Also simplify log output to be consistent with other checks
and remove LLVM build type.
Added bootstrap gem deps used by mini_portile.
Merge pull request #2779 from southerngs/master

Make configure --llvm-path check llvm version
Set close_on_exec state on new file descriptors by default

Fixes #2754
Remove tag for now passing spec
Add spec for rb_fd_fix_cloexec
Add rb_fix_fd_cloexec to C-API.

This fixes up file descriptors to set close on exec.
Add spec for opening file with text mode
Allow t modifier in file modes

Used in nokogiri's extconf.rb for when developing on the extension
itself.
Add missing fixture file
Fix deadlock in thread startup mechanism

This would cause a deadlock when a thread would start, but the hard_lock
code would happen at the same time a GC happens and also the thread was
still starting. This meant the thread that started the thread would
never get the init_lock and thus would wait indefinitely.

This would cause the GC not to be ever happening, having two locks
waiting for each other and never seeing any finish.
Fix reference to make when building LLVM from source
Remove unnecessary namespace prefixes
Set branches to run Travis.
Add HAVE_RB_FD_FIX_CLOEXEC header

Fixes #2801
Merge pull request #2781 from pH14/master

Adding spec for backreferences to keep matched string's class (fails on rbx)