tests: Add examples where -filterout prevents renaming
tests: Add examples where filtering breaks declarations
Apply -filterout after AST processing

With this change, all input code is preserved for the C parser and the AST
processing now. This means overall all the declarations will be processed
in the same way regardless of whether -filterout/-filterin was used, and
the filtering is applied afterwards.

This is needed to get proper AST processing, especially symbol name fix up.
Even if a header is being filtered out, it may contain typedefs etc. which
need to be renamed, which in turn requires changes in the headers that are
not being filtered out.

Furthermore, filtering is only applied to whole declarations now. fbfrog
will no longer filter out parts of declarations, e.g. some fields from
a struct, because that would break the code.
tests: Add example where filtering affects choice of Extern block
ast: Remove DUMMYDECL flag and (re)use FILTEROUT instead
Don't include filtered-out declarations into renamelists
Don't include filtered-out declarations when choosing Extern block
tests: Move -filterout/-filterin tests out of cpp/ subdir

because filtering is not only related to the CPP anymore...
tests: Add example showing incorrectly ordered rename list
Fix order of rename list entries for fields