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 compares the stored frontend id with the one returned by the backend.
ImplContainer::backend() now uses this IdContainer::checkID() to make sure that the referenced backend entities IDs never changes. This brings further safety e.g. for future backend implementations that might not care to store the id themselves.