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)