Work towards fix for #81937: Improves (and renames) generateName function...

... to use regular expressions and prevent names starting with numbers.

Also, a function that creates a Unique name (using UUIDs) has been added so we don't need to resort to LayerResourceService's function, which checks against the layer resoure table which is bad behaviour unles we are actually working with layer resources.