Furnace now doesn't smelt items if the player doesn't have permission

Refactored helper classes
Added new FurnaceBurnTickEvent and FurnaceCookTickEvent
Added WorkerTask which calls the new furnace events