Fixed possible recursion problems in inventory

Using setStackInSlot during readFromNBT and onInventoryChanged calls onInventoryChanged, which calls writeToNBT; this is best avoided by assigning the inventory slot directly.