Give ImplContainer new base IdContainer storing & checking entity ID

ImplContainer now hase a new base IdContainer that first of all stores the entity ID upon creation and provides a checkID method that compare the stored frontend id by the one returned by the backend.
ImplContainer::backend() now uses this IdContainer::checkID() to make sure that the referenced backend entities ID never changes. This brings further safety e.g. for future backend implementations that might not care to store the id themselves.