Abstracted item functionality to an interface.

Interface is called InventoryItems, the old InventoryItem class is now
GenericItems. Consumable and Equipable items now require an int key,
list<effectsinformation> properties, and string description to be made.
LivingCreatures and Chests now have inventories. Possibly adding a
dictionary to player for equpied items.