Expand 'declarator' into 'fn_declaration'.

A name and function arguments are required.
Support tamed functions with unnamed arguments.
Add support for default parameters to tamed functions.
Some documentation updates.