Re-factored the calculation of costs of items

Instead of storing the cost of an item, the program will now
re-calculate costs on the fly, when needed (i.e. after a load or a
reset). This allows for the price of an item to change in the future,
and the current cost to take that into account, rather than leaving them
"out to dry" on the new costs.