Fixed ItemFluidContainer always draining the max amount of liquid

The ItemFluidContainer has a bug where it will always drain the amount requested even if there isn't enough present. It can even push the fluid stack into negative numbers. This also allows for the duping of fluids. This PR fixes it.

It also fixes a bug where it didn't delete the nbt tag containing fluid data (which should happen when the tank is empty) unless the maxDrain was greater than the capacity.

The changes on lines 9 and 11 are not intended and were not part of my original commit. Not sure why they happened. Doesn't make a difference really.
stack.amount = Math.min(stack.amount, maxDrain);
maxDrain will always be >= stack.amount by this line... You need the original stack.amount