- add FL_GC_WB, FL_GC_OLD.
- add RARRAY_AREF/ASET/RAWPTR.
support RGENGC only for T_ARRAY.

* T_STRING is WB protected (incorrect assumption).
* T_CLASS is WB protected (incorrect assumption).
add WBs.

- add WBs (not enough)
- add RGENGC_SIMPLEBENCH macro.
rename macro name.
add RGENGC_CHECK_MODE.
add WB for RBASIC()->klass.

* ruby.h: add macros
  * RBASIC_CLEAR_CLASS(obj),
  * RBASIC_SET_CLASS(obj, klass) <- WB,
  * RBASIC_SET_CLASS_RAW(obj, klass)
add write barrier for shared array.
move table allocation place.
change macro name and add gdb option.
sophisticate check code.
revise RGENGC to use bitmap to record remember set.
change NODE_FL_... to avoid conflict with GC flags.
disable debug/check/benchmark flags.
catch up current trunk.
fix minor changes.
fix bugs and add assertions.
don't use rb_gc_wb() directly. Use OBJ_WB().
Run gc_marks_test() in same condition.
performance tuning.

* OBJ_ -> RVALUE_ for RVALUE values.
* profiler position.
* after_gc_sweep() position.
remove debug print.