Improve Entity::setId

* $item->setId( 42 ) is no longer deprecated (integer argument)
* $entity->setId is now deprecated (the whole method)
* $item->setId( $entityId ) is still deprecated though now is type hinted as such

Also brings us one step closer to killing Entity
> deprecate polymorphic calls to it.

How is it possible to have calls to an abstract interface in an abstract class? Is this deprecating the guarantee that all `Entity` based classes have a `setId` method? I'm not sure if this makes sense. We just discussed that having an id is the only common property of all entities.

Please add an explanation what exactly is deprecated here and why.