fixes #5919 and some other reagent value issues

negative values everywhere.
removes pointless has_reagent() checks

remove_reagent() iterates safely through the holder list already,
unless you need to check a minimum amount,
or simply want to know if it is present, the call is not needed.
Merge pull request #5955 from Walter0o/chem_reag_fix

fixes #5919 and some other reagent issues