Fix inconsistencies when invoking functions with implicit objects

Modifies AST by moving values from within implicit objects to surrounding function call.

Fixes: jashkenas#618
Related: jashkenas#1008 jashkenas#873 jashkenas#631