site-nodes cache reform: use ns_urlsspace instead of brute-force caching.
For OpenACS site with recent versions of NaviServer and XOTcl2, cache sitenode information much more efficiently by the built-in URL trie, which supports tree match operations, for tree information. This means that for example for .vuh handlers it is not necessary to cache the full url for obtaining the site-node, like it was until now:
Why is this needed: current cache sizes of larger sites show 330K (site A) and 390K (site B) cache entries. Matchbase flushes have to gor thhrough all these entries, causing long lock times. Running thhis code at OpenACS.org shows an improvement by a factor of more than 200x.
Revert massive replacement of empty list creation sentences. The use of '[list]' instead of '{}' adds semantics that could be used for performance improvements in the future, such as using a different internal representation. There is already work in this direction, avoiding the generation of the string representation during comparison of empty strings (huge thanks to Stefan Sobernig for the pointer: https://core.tcl.tk/tcl/info/44527c632ed609c2).