(maint) Add test examples for nested naming of classes

There were no tests for naming of nested classes (the naming needs
to take place during parsing).
(maint) Fix parsing hostnames containing '.' as sequence instead of name

There was a problem with NAME no longer allowing '.' in names (it
is only supported to enable a node to use a node match based on NAME.

This changes the parser to parse a node name such as kermit.example.com
as a sequence of names separated by dot.
(#22962) Remove alternative lambda syntaxes from tests
(perf) Speed up containment calculation by 2x

This speeds up getting all contents of a model by a factor 2.
The performance is gained by not calling the general routines since
they call through many layers with enumeration, filtering and copy &
concat until they reach an answer. 

The optimized version inlines as much as possible and keeps a cache of
resulting getters per class. (The getters that produce the content).
(maint) Allow any expression as hash key in parser

As opposed to just strings or names. (There is the need to at least
support NUMBER, but this generalizes the rule to an expression).
(maint) Improve handling of loc/sourcepos calculation in parser support

There where many checks if being at end of input (one was also missing).
(perf) Include perf benchmark for parse + validate