CMS-2770 Introduce ComponentName and ComponentNameGenerator
Introduced ComponentName and more use of PageRegions to get more control of regions of a page.
Moved regions out of config (RootDataSet). Regions are now kept as proper domain objects in PageRegions as a own property of Page and PageTemplate

Refactored SitesInitializer and created more demo stuff