Prepare Enumerator::Yielder for some magic for infinite sequences
Cleanup Array#unshift
Add 'arguments' and 'undefined' as a reserved javascript keyword

Yes, they aren't, but using them as Ruby variable names ends up breaking
everything, especially if you use them as parameter names.