[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.
Can we move the `id` property to `Definition` model? Is there any `Definition` subclass that does not have the `id` property?