[[ DEFINITIONS ]]

ruby_cref: a linked list of lexical class enclosures
ruby_cbase: the top class in ruby_cref
ruby_class: the 'current class'. A sort of linked list, who's value
  is maintained by store and restore the old value from the C stack


[[ USAGE ]]

cref is updated when entering and exitted the body of a class/module.
cref is updated use the string form of instance_eval.

class is updated when entering and exitting the body of a class/module.
class is updated when entiring and exitting a block.
class is updated when entering a method.
  - to equal cbase
class is updated when entering eval
class is updated when entering instance_eval/instance_exec/
      module_eval/module_exec
  - to the metaclass

[[ WHO USES WHAT ]]

undef: class
defn:  add to class, save cref

defs:  save cref
class: cbase
module: cbase
const_get: walk cref
const_set: cbase
cvdecl: cbase
autoload: cbase
Module.constants: all of cref
Module.nesting: walk cref
scope: restore cref
eval:  restore cref
load:  set cref to top
Thread.new: save cref

WEIRD:

define_method: if self == cbase, use current cbase scoping
