Lazy load entity and repository + presence validation of entity and repo on load

As title
This double exception `RuntimeError` and `NameError` is the proof of what I'm [saying above](https://github.com/lotus/model/pull/106/files#r20995709). The semantic here is clear: the developer forgot or put a wrong entity name, but we return two different and **generic** type of exceptions.