Implementing the new behavior for block entities.
* No events are sent when obtaining temporary block entities.
* No events are sent when temporary block entities cease to exist.
* @ForceBlockActive annotation for components will cause a block to stay active.
* @ForceBlockActive has an option to cause the component to be retained unaltered across block changes.
* Otherwise components are added/removed/changed to match the new block on block change.
* Likewise when an temporary block entity is removed, it is first modified to conform to the block with events being sent.
* Some cleanup of EntityManager, EngineEntityManager and PojoEntityManager
Fix for NetworkComponent handling on temporary block entity cleanup.
Block damage system now working correctly.
Updated block damage item pickup system to work with the new block entity handling.
Merge remote-tracking branch 'remotes/upstream/multiplayer' into multiplayer