Refactored shop buying method.
Added functionality for buying from other suppliers and the upgrade
item.