Fix fuel burning mechanic in EngineIron

Old implementation was not as intended I think. For example, lava as fuel should have outputted 20000 MJ, but actually outputted 20980 MJ.
This was because burnTime's value went 20,19,...2,1,0,20 - so that it had actually outputted 21 MJ for each amount of fuel.
Also, when the last amount of fuel was burned, burnTime would be 20 but fuel would be null, and so would currentFuel so that the last cycle was skipped.
So the actual output of some fuel was:
powerPerCycle * ((amount - 1) * (totalBurnTime/1000 + 1) + 1).
There probably are better ways to fix it but this is what seemed best to me.