Improve fwd declarator

o Drop fwd declarations of fucntions: not needed at the moment,
fails as it is in Gaudi. Need to fwd declare arguments.
o For templates: drop fwd declaration of stl classes.
o For typedefs: enhance recursion. Now working for typedefs in
namespaces as well. This is surprising, but this is how the Clang
interface works... See diff.