* getUserArgs: optimize arguments immediately
This would have also happened when the whole expression (function call + arguments) was processed.
Doing it here reduces the number of places that call IIP directly.
* remove dead code Expression::eat
* rename Expression::eat2() to consume_tokens(), and modernize