Add cancellable LivingDespawnEvent for despawnEntity()

Allows for circumventing entity despawning. Cancelling will cause Entity not to despawn.

Use Cases:
* Cancel despawning; forcing persistence
* Injecting alternative despawning algorithms; i.e. despawn in low light levels, when on a block, inside an area