Always build modules recursively

GObjectIntrospection now only provides direct dependencies, so the
builder has trigger a recursive build for each one. This is a quick fix.
A better solution is to determine a list of all recursive dependencies
first and then build those.
Skip garbage collection test on Rubinius
Disable finalizer on Rubinius
Rename ClassBase.allocate to _allocate

This avoids a conflict with Rubinius' built-in allocate method, which is
used by new.
Fix tests to match renaming of allocate method
Fix test to handle Rubinius' different NoMethodError message
Make GirFFI work on Rubiniues [merges branch 'rubinius']
No longer allow failures on Rubinius