Add missing typedefs for autoloading
Implement typedef selection pragma

yes: it was not implemented.
The only effect it had, and nobody noticed, is that autoloading
would not have worked for those typedefs.
The effect is very pronounced, i.e. crash, in presence of header
parsing on demand.
Save TypedefDecls in the scanner, not only typedef/aliases names

this allows to associate to a typedef, which is an autoload entry,
headers. This is crucial in presence of header parsing on demand.
Don't treat typedef selections when creating pch

formalise the type of scan defining three types thereof:
 - Normal
 - Two passes (for dict selection)
 - One PCM
Optimise pch creation runtime
Restore R5 typedef behaviour in presence of LinkDef file

this is necessary since in R5 the typedef pragma selected class
is present to allow cint to know about these typedefs.
This is not necessary for Root6.
On the other hand, we need autoload entries for these typedefs.
The solution is to keep them in the list of selected typedefs but
not to "drill a hole" through them and select the class they point
to.
This behaviour is present only for genreflex + selection xml, for
which the typedefs are "followed up": the pointed class is selected
via the typedef. Again, a behaviour of ROOT5 preserved in ROOT6.