CSV items, rarity algorithm

Items now generate from CSV instead of hard-coded values
Items now have rarity
Rarity is used to weight the spawns.