[WIP] Add unique id base methods

/to @bajtos 

Added support for building identifiers from:

 `componentName` + `name`

and

 `componentName` + `modelName` + `name`


I started on implementing new unique ID support and this seems to work out fairly well. The issue I am running into is that IDs are not so easily hookable. Could you look into hooking IDs? I tried a `beforeSave` hook, but that doesn't provide any reference to the constructor.
`ComponentDefinition` should be keyed by name.