functions that give/take VGs return the new balance
balance cannot be lower than 0
not updating StoreInfo on every store opening
when removing upgrades also remove their quantities from the database
make VirtualItem.give() idiot proof
merged with MatchiOSCode (fixed conflicts)