Expanded inventory system.

Inventories are initialized as "empty", containing a default item.
Implemented Inventory::add_item