Fix order of keys in JSON files

Implement a new method `WorkspaceEntity.getConfigFromData` that converts
the Entity data from connector cache into an object that has properties
ordered in the same way as the Entity properties are ordered in the
Entity LDL definition.

Add a new property flag `internal` that is used to hide Entity
properties from the config files.

Use these two mechanism in all relevant places to ensure the order
of keys in JSON config files is always the same.

Add an internal `componentName` property to embedded Model* entities.
Implement a hook in WorkspaceEntity to automatically fill
the `componentName` property from the parent model.

/to @raymondfeng please review
/cc @ritch