Improved fuel leaks

This makes 4 improvement to PR #7104:

 i) Fixes fuel leak not actually draining tank
    (The previous code was draining a copy of the tank)

 ii) Fix water leak spawning bottles of water
     (The previous code was using a function that automatically puts food liquids into containers)

 iii) Reduce fuel leak rate by 50%
    (Now that fuel tanks are actually drained, the previous drain rate seemed very high)

 iv) Heavily damaged batteries now self-discharge
     (Basically, damaged batteries behave like damaged tanks, but don't leak anything)

Note: I put each change in a separate commit, if anyone wants to see each in isolation.