Fix combustion events

* Actually set the block in `EntityCombustByBlockEvent` instead of it always being `null`
* Call `EntityCombustByBlockEvent` for fire blocks, instead of `EntityCombustEvent`
* Add `EntityExtinguishEvent`