Component Ids (#1501)
* Component id + prune those for refresh as well
* Serialize id properly
* Add unit tests for component id serialization / deserialization - make sure references to Components with Property are properly restored to the correct components by id
* Update GameObjectInspector to use Component.Id to determine already seen components. This makes it rebuild properly for multiple components of the same type
* Serialize as Id not __id so also picked up by MakeGameObjectsUnique
* Scene unique component ids - update serialization test accordingly
* Phase out storing GO guid and component type
* MakeGameObjectsUnique -> MakeIdGuidsUnique (make old method Obsolete and redirect to MakeIdGuidsUnique)
* Unit test for clone with references
* When adding component or game object to Directory - check is there a component or game object with that id already, if so, force change it to a new one and spit a warning out. No component or game object should ever be able to share the same guid anyway but this makes sure
* Add test for loading old reference model type from prefab / json
* Test both old and new formats
* Let's not make this elseif - always check both