Remove old todo entries related to FB parser
Add "AST vs. rearranging tokens" section
Fix token order mix ups (ca53d4f5 regression)
Allow to avoid preserving #included tokens via -nomerge
Add -D/-include command line options
Fix #include search and add -I/-i <path> options
cpp: Fix macro expansion (broken since 6bf21799)

Previously, macro bodies would be stored in the tk buffer, enclosed in
TK_BEGIN/END, behind the TK_PPDEFINE. The CPP's macro hash table referenced
the TK_PPDEFINE's position and read out the bodies this way.

This was broken since the #include parsing changes, where the removal
of TK_BEGININCLUDE after parsing the new tokens coming from the #include
caused the positions of #defines in the new tokens to shift, invalidating
the positions stored in the macro hash table. Even worse, since 3d2a5f19
tokens from #includes could be removed completely, making it impossible
to expand #defines because there bodies were gone.

So now, #define bodies are stored in the AST associated with the
TK_PPDEFINE instead of remaining in the tk buffer. This means the #defines
can be deleted just fine, but some places of code need temporarily
re-insert the bodies into the tk buffer in order to parse them (macro
expansion in parse-cpp, #define body expression parsing in parse-c).