CMS-2770 Introduce ComponentName and ComponentNameGenerator
Page no longer extends PageComponent, so that getName could be moved to PageComponent
Created methods: ensureUniqueComponentName and ensureUniqueComponentNameFromTemplate