Fix Yosemite builds that use gcc-4.2 through `require_gcc`

The definitions that use `require_gcc` are not compatible with Apple's
clang-powered `gcc` and need gcc-4.2 from Homebrew. However, builds
using gcc-4.2 fail on Yosemite with a warning:

    couldn't understand kern.osversion `14.0.0'

Although the warning is non-fatal, the build goes to shit from there. It
seems that setting the magical value `MACOSX_DEPLOYMENT_TARGET=10.9`
makes the build work and doesn't seem to have negative consequences.
Silence warnings when testing gccs

This silences the warning that gcc-4.2 produces on Yosemite:

    couldn't understand kern.osversion `14.0.0'
Use CC=clang by default on Yosemite to avoid gcc-4.2

Newer MRIs will pick up gcc-4.2 from PATH and use that instead of
`/usr/bin/gcc`. While this worked up till now, it will not work in
Yosemite anymore since Homebrew's apple-gcc42 is generally not
compatible with 10.10.

So when CC has not explicitly been set, set it to `clang` to avoid
searching the PATH for any other gcc versions. This fixes MRI builds on
systems where apple-gcc42 is installed.
Try openssl from Homebrew when calculating SHA-256 checksums

This makes checksums possible on Leopard where `shasum` is unavailable
and system openssl doesn't support `dgst -sha256`.

Fixes #656
Fix Rubinius build when libyaml is present in Homebrew

Rubinius never supported the `--with-libyaml-dir` configure option, so
we can never use `--if needs_yaml` since it's incompatible and might
break the build if libyaml was auto-discovered from Homebrew.

Starting from 2.2.0, Rubinius doesn't even need libyaml anymore since it
stopped building psych. Instead it requires users to install psych as a
gem which vendors its own libyaml anyway.
Work around Rubinius LLVM incompatibilities on Yosemite

Rubinius fails to download a prebuilt LLVM on Yosemite since one is not
available yet. Instead, download the prebuilt version for the previous
OS X release.

This fixes Rubinius 2.2.7+ builds, but the older ones still fail for me
on Yosemite. This could be due to the fact that they're old releases
which are not compatible with never dependencies on the system.
Fix rbx-1.2.4 setup phase

Rubinius back then didn't have a Gemfile, so don't try to invoke `bundle`.
Instead, rely on the host Ruby to already have rake installed.
Enable Rubinius builds to re-use cached LLVM dependencies between builds

If RUBY_BUILD_CACHE_PATH is set (typically "`rbenv root`/cache" if it
exists), have Rubinius `./configure` script download prebuilt LLVM
versions into that directory and re-use them if already present.
Avoid endless recursion when rbx is installed over existing one

When installing rbx over an existing location, the `gems/bin` directory
will already be a symlink to `bin/` and an attempt to recreate this will
end up in recursion that keeps growing a binstub file until the disk is full.
Merge branch 'rbx'

See https://github.com/rubinius/rubinius/issues/3169
Unset CC to isolate from CI build environment
Merge branch 'yosemite'

Fixes #651, fixes #648
Don't display duplicate definitions

This fixes `rbenv install -l` displaying each version twice due to
RUBY_BUILD_DEFINITIONS path containing ruby-build's own definitions path
twice: both as an rbenv plugin and by appending its own internal path.
Add test that ensures duplicate Ruby definitions don't get displayed
Merge branch 'duplicate-versions'

Closes #646, fixes #641
ruby-build 20141028
Fix `brew-publish` command

[ci skip]
Fix comparing OS X version when it has 3 components
Fix the test suite on Darwin

Setting CC makes sure that we never have to perform the Darwin-specific
check for whether we should default to `CC=clang` and thus break `uname`
stubs in unrelated tests.

CI never caught this because Travis already has CC set to gcc-4.6.
Add jruby-1.7.16.1

1.7.16.1 is a security fix release for CVE-2014-8080. All users are strongly recommended to upgrade.

http://jruby.org/2014/10/28/jruby-1-7-16-1.html