Merge initial closures implementation.

Rename namelee to anonymous.
Add new object and procedure options into ppudump to fix compilation(didn't check work).
Initial changes come from fpc's svn closure branch. Implementation luck of most important file called pnameless. But according to other changes idea of implementation is clear. It's clone of Delphi's approach:
- for each procedure which have nested closures define special object (let's call it frame object, or capturer)
- frame object created at begin of declaring routine activation
- variables which are used from closure are called "captured". Captured variables become fields of frame object.
- anonymous routine became method of frame object. To access captured variables it use fields of frame object.
- referens to anonymous function should
  + point to frame object
  + point to anonymous method
  + be used by compiler to manage frame object's dynamic memory
  to solve this problems for each anonymous method we define interface which contais single method "Apply". Now referens to procedure is interface. To call closure we call sincle procedure of interface.

Closures branch from fpc's snv have 2 commits. Author didn't commit most important file names pnameless.

~ ncgutil: generate interface thunks for local classes too ~ nld: during the first pass, we rewrite the nodes that load captured variables, except for nodes marked with the new flag loadnf_captured_param = pdecobj, symdef: factored out tobjectdef.register_implemented_interface + pexpr: access to captured variables from expressions; nameless routine declarations + symconst: new flags for tprocoption (po_nameless, po_has_closure) and tobjectoption (oo_is_nameless) ~ symdef: mangled name generator is now aware of local classes and interfaces + symsym: new field tabstractnormalvarsym.captured_into holds a reference to a new location for the captured variable

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/blaise/closures/compiler@20138 3ad0048d-3df7-0310-abae-a5850022a9f2

+ defcmp: structural equivalence for COM interfaces ~ pdecobj, pdecsub: parsing mode for routines: normal, class method, nameless routine, method reference = pdecsub: factored out parse_proc_parameter_dec(); code simplifications + symdef: tprocdef.add_to_procsym() + ptype, tokens: new UDT -- method reference

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/blaise/closures/compiler@20212 3ad0048d-3df7-0310-abae-a5850022a9f2

Fix compilation. Implementation will be fixed in the future.
Separate changes related to anonymous routines parsing.

Remove changes related to variables capturin. Required to debug parser.
Now it's possible to parse anonymous routine inside body of other routine.