Add toast error messages when unable to pickup items
Split out logic into different boiolean methods for checking whether we should display the pickup option and whether the item can be handed over. Sometimes we don't want to show the option at all, sometimes we want the option to pickup but then know why we can't via toast
Several items now have the option to pickup and will then display a toast message on failing, where they did not have the option to pickup before (and you wouldn't know why)
Made some small changes to WaterPurifier code to make some of what it's doing a bit clearer