VI and RemoveProduct Fixes

The VI now uses its list of products that it already has instead of
pushing data to a separate array.
Also the RemoveProduct function no longer only checks the CurrentPlayer
for products to remove, and it overall works properly because of this
and what's mentioned above.