Explicitly check C-API Handle 'checksum'.
Revert "Revert "Setup finalizer thread as an auxiliary thread""

This reverts commit 75537c1417abb5dfcefca25441a1271d7a20216e.
Only make Rubinius FFI available via require.
Removed FFI stub gems.
Temporarily disable running Ruby finalizers.
Don't swallow potential bugs with Data marking and freeing.
Added pre-installed FFI 1.2.0 gem.

Bundling this gem because FFI gem maintainer hasn't answered my
query about releasing a version of 1.2 that installs on Rubinius.
Don't deadlock adding objects to finalizer queue.
Load Rubinius FFI via require.
Disable FFI CI specs.

Two issues:

* We do not load RubyGems to run the specs.
* We are using the FFI gem, so the gems specs should be run to
  ensure that the gem functions on Rubinius.
Temporarily tag failing OS finalizer specs.
inttypes.h needed in vendor/oniguruma/transcoder.h  for OpenBSD
Fix potential deadlock because unlocking might GC

We might have to wait for a GC when unlocking the locked objects. This
also means we have to clear the call frame before that because it's not
valid anymore.
Always initialize RData

Even though we normally initialize in Data further, we want to
initialize this anyway so in the case there are bugs they don't show
themselves as impossible to debug, but as a more normal segv because of
a null pointer dereference.
Reset call frame before waiting

When we wait, we might GC and we have to make sure there isn't an old
call frame reference present at that point.
Assert that whenever we see a Data object it has a handle

Data objects should always have a handle, so when one doesn't that is a
bug.
Updated comment to go with ef023b2a change.
Silence finalizer warnings for now.
Guard usage of RData for already freed Data objects

When a Data object is already freed, we can't use the raw pointer
anymore that it used to point to some C allocated data. When this
happens we raise an exception so code after for example a call to
DATA_PTR, can't run and cause segfaults.
Reenable Ruby finalizers

With the additional guard for Data objects and native memory, this can't
cause crashes anymore now.