fix class reference problem from within threads;

objects that belong to other threads should not be accessed, so that
target_class, receiver, closure env should be altered.  As a side-effect,
the following behaviors will be changed:

* MRB_TT_OBJECT objects can no longer be migrated across threads.
* the receiver (self) in thread block will be nil (no longer outer self).
* constant scope will be Object.
* outer local variables cannot be accessed any longer.
Set type TT_DATA for classes
Handle range
Add some examples
allow migration of objects/exceptions across threads