Add more specs for Thread#raise with no arg inside rescue
Make Thread#raise not raise $!

There is 1.8/1.9-specific behaviors when calling Thread#raise with no arguments
inside a rescue clause and the called thread is also inside a rescue clause.

First of all, Thread#raise doesn't use the exception in the calling thread. In
other words, Thread#raise doesn't use $!, only Kernel#raise does.

In 1.8, the raised exception is the exception in the called thread.

In 1.9, it is always a RuntimeError.
Remove passing tags
Install extra bins. Closes #1892.
configure parameter fix for cc and cxx

The environment variables overwrote the values set by parameters, so
that the usage of --cc=clang or --cc=gcc did not work.
Merge pull request #1970 from Gibheer/master

configure parameter fix for cc and cxx
Install all of rubygems. Closes #1892.
Always completely initialize CallFrame

This helps a little bit with debugging to prevent confusion when
inspecting call frames and seeing bogus values that aren't actually
used.

Also uses consisdent ordering in setting up the call frame.
Store file and line number where exception point is placed
Handle stack reset case in checking stack size

In the CAPI we also do stack checks so we need to make sure that we
handle the case where the stack size was reset. Also make sure we
check for interrupts here.
Add spec for calling private method after respond_to
Fix visibility lookup override

If the original method implementation had a different visibility than
the new method location we need to preserve the visibility of the new
method location.

This for example happens in you change the visibility of a method in a
singleton class. The singleton class has a new entry with a different
visibility but defers for the implementation to the original definition.

Fixes #1967
Add quit / exit command to debugger

Fixes #1943
Fix initialization ordering in ontology

Encoding needs a lot of the infrastructure in place to initialize. One
important thing is that it needs structures such as CompactLookupTable
for instance variables ready. Before Encoding was initialized before
this, resulting in a CompactLookupTable that had 0x22 as it's class
pointer.

This was exposed when doing a heap dump, which then crashed because it
couldn't find any class for that invalid 0x22 pointer value. Reordering
in the ontology makes sure we setup stuff in the right order.

Fixes #1933
Add spec for curried proc passed to instance_exec.
Fix issue when curried proc is passed as block to instance_exec.
Leave more room on the stack for backtraces

This makes sure that for example printing a Ruby backtrace in GDB still
works after a StackError.
Introduce system threads and mark signal and finalizer thread as such

We need a concept of a system thread, which is a managed that thread
that runs Ruby code but isn't visible to userland Ruby code. Currently
that means at least the signal and the finalizer thread.

We were already hiding the signal thread, but introducing this
abstraction is a much more useful approach.
Ensure to unlock the thread object when running thread
Added spec for Struct::Passwd