Enhancement for crafting

Currently before crafting a liquid the code checks that you have a container with at least 1 unit of free storage.

A plastic bottle holds at most 14 unites of brandy. You can craft more brandy if you have a plastic bottle of 13 units brandy (and no more containers).
Of the resulting 7 units of brandy only one can be stored in the bottle, the remaining units must be discarded, which is a real shame.

This gets worse with the new result_mult settings.

The PR adds a function in the player class that checks for enough storage space of a whole liquid item, and uses that.

The crafting result as item instance can be accessed through a function of the recipe now. It contains the correct charges.

----

When re-crafting is not possible, it shows a popup containing the missing tools/components. Removes a TODO comment.