sp_ar: include sparse array
use sparse array for method/constant/instance variable tables

- use sa_table instead of st_table for all kinds of symbols: constants,
  methods, instance variables
- inline sa_table into rb_classext_t instead of separate allocation
use sparse array for method cache instead of global cache
gc.c: backport check for method mark