Add unique id base methods
Fix embed identifiers

 - allow `WorkspaceEntity` to determine the unique id
 - `connector.create` should callback with an id
 - all models should not have the correct `id` property
 - pass the correct identifier data to `addRelatedCache` so it can set
the `componentName` and the correct foreign key
 - clean related data for both embedded arrays and objects
 - remove `componentName` and `id` for all embedded config data
 - ensure the value being set to the cache has the correct id
 - add id tests (could use more for other model types)
Add componentName to correct models and mark required
Refactor id creation to use belongsTo foreign key

 - rename model foreign key
 - remove modelName property from all entities
 - remove componentName from entities where it was made redundant by
the parent id (eg. modelProperty.modelId has the componentName)
 - allow for simpler id building by adding belongsTo relationships
 - use belongs to relations to build the id
 - parentIds (belongsTo foreignKeys) are now required
 - cleanup data (eg. dataSourceDef.id) leaking into config files
Ensure component models are saved to the correct component
Refactor getUniqueId into a static method
Merge pull request #62 from strongloop/refactor/identifiers

Add unique id base methods