Fixes to food transfer system

There are a lot of changes. Important ones include: The seperation of
carriable and noncarriable items into seperate vectors, actually giving
food items a weight, making the user interface set target location for
food to pick up. Long story short things no longer break when you try to
lift food.