Fix https://sft.its.cern.ch/jira/browse/ROOT-5413
Changed logic behind "deep" selection rules

Before two selection rules were addedL * and *::*.
This is cumbersome since std:: classes are sucked in, only
2 levels are considered in the depth and the selections are basically
ignored.
Instead of addind those two selection rules, now the system works like
this:
   o Go through all class selection rules
   o If pattern defined and pattern does not end with *, add final *
   o If name defined and not pattern ending with *, add pattern name*
This allows to walk all the way through the end of recursion starting from
selected classes.

There is one change necessary in rootcling. This strategy works only
*after* the scan of the AST. Therefore some reshuffling is needed in the
logic.
Change logic to consider deep-ness
fix to gen code for multiple transient members
remove obsolete HP-UX dynamic load routines and NOCINT ifdefs.
Parser::Initialize() already initializes Sema (causing dupe ExtSemaSrc)!
The pcms are called _rdict.pcm; follow that convention
Pass correct PCM name.
Missing newline after error message.
Use proper pcm name.
Enable modules.
Load dependent PCMs (not happening yet, though). Need -m before headers.
Syntax
Only enable onepcm if no modules.
core/metautils/src/TMetaUtils.cxx

Add an extra verification of the module / header registration.
The pcms are called _rdict.pcm; follow that convention

Summary:
Pass correct PCM name.

Missing newline after error message.

Use proper pcm name.

Enable modules.

Load dependent PCMs (not happening yet, though). Need -m before headers.

Syntax

Only enable onepcm if no modules.

core/metautils/src/TMetaUtils.cxx

Add an extra verification of the module / header registration.

ModuleMaps work on directories.

./lib/G__XYZ.pcm will "just" pick up the existing file entry, no search through directories is performed. Because of that, no directory can say "and I have a module map!" and the module will be 0.
Instead, add ./lib to the -I and then only include G__XYZcontent.h.
This needs to be fixed also for ./, e.g. by removing the file entry we created when programmatically filling the module map.
The trunk of clang actually has a means to tell a file entry what module it has - i.e. this might also get fixed by an update of llvm + clang.

Test Plan: none!

Reviewers: aeie

Differential Revision: https://phsft-phab.cern.ch/D1
Pass in a pseudo-valid source location: the end of the main file.
Print qualified name in error messages.
Calculate dictionary namespace correctly.
Missing newline after error message.