Rename params -> args
Port parameter defs

Has one bug re \self
Preliminary function decl support

Problem: __FUNCTION__ etc don't work anymore, due to lexer/parser
interdependency.
Port __FUNCTION__ to AST
Port __METHOD__
Lineno corrections
Port closure use
Port closures
Small cleanup

Current problem: build_runtime_defined_function_key is lexer
coupled
Use dedicated func_decl ast node

Functions need a bunch of extra info, that becomes inconvenient
to handle using the normal ast structure.
Fix lexer/compiler interdependency
Handle function doc comments
Support static closures
Remove bits of dead code
zend_update_jump_target