refactor to add product key
Created by: rileyp2000
This should not affect the functionality at all. Simply changes the product table schema and uses to rely on a separate key from the barcode id. Please test all frontend functionality to make sure nothing is broken