RIO-31 feat(really-core): Implement Reference Field Type 

- refactor CollectionActor to be FSM
- handle reference field on create request on CollectionActor
- fix test cases fro CollectionActor
- add reference filed
- implement CollectionActorTest to extend CollectionActor and handle test messages like `GetState`
- fix test cases for CollectionViewMaterializer, ModelLoader and GorillaEventCenter
I always forget why the requester and sender aren't the same here, I think you should explain as docs in the code