Better error message for unsupported #defined? args
Avoid variable shadowing (could lead to errors in 1.8)
Add support for #defined($gvar) and #defined?(yield)
Add Kernel#eval directly inside corelib