Regexp.union encoding support and compatibility fixes
Add Error messages for ArgumentErrors
Untag passing specs
Adjust some Process.uid= specs for 2.0

It looks modified on r35158 for http://bugs.ruby-lang.org/issues/5610.
Adjust some Process.euid= specs for 2.0

It looks modified on r35158 for http://bugs.ruby-lang.org/issues/5610.
Tag failing Process.{uid=,euid=} specs on 2.0
Merge pull request #2537 from kachick/spec-process-uid=,euid=

Adjust some Process.{uid=,euid=} specs for 2.0
Merge pull request #2535 from anupnivargi/regexp_union

Regexp.union encoding support and encoding compatibility fixes
Merge pull request #2536 from kachick/fix-some-infect

Some fixes for taint/untrust
Add additional safety checks to FFI Pointer handling

This makes sure we check if a pointer is NULL before dereferencing it
and also makes sure that when we free or finalize the object, we set the
internal pointer to NULL. That way we get an exception if it's used
afterwards.
Fix deadlocks in rb_thread_create

This was causing a deadlock because of two reasons. One is that we
didn't notify any joined threads when a thread created with
rb_thread_create terminated.

The second issue was that we didn't unlock the thread object and didn't
update alive status properly for the thread. Fixing this exposed another
problem. This problem happens because unlocking can cause a GC to run,
so it could GC objects put into a void* passed to the thread
initializer.

By making sure we also lock / unlock after starting the thread, we make
sure the frame calling rb_thread_create waits until the thread actually
runs. This makes sure objects with C-API handles in that frame don't get
collected and the new thread doesn't see invalid data in the void*
argument.
Relax version and add specs for Rational#marshal_dump

Removed 2.0 specs from https://github.com/rubyspec/rubyspec/commit/df824339af21e73c6655c7d90924c3d09e4c1daa.
But it is defined on CRuby 2.0 with private visibility.
Fix Rational#marshal_dump for 2.0
Relax version and add specs for Complex#marshal_dump

Removed 2.0 specs from https://github.com/rubyspec/rubyspec/commit/df824339af21e73c6655c7d90924c3d09e4c1daa.
But it is defined on CRuby 2.0 with private visibility.
Fix Complex#marshal_dump for 2.0
Add specs for Time#_dump
Fix Time#_dump for 2.0
Fix spec context for Time._load
Add specs for Time._load

Currently, have_public_method matcher is not in mspec.
Fix Time._load for 2.0