Sanitising data when saving products.

If negative stock is supplied or if stock is not available and the stock status is not OUT_OF_STOCK then set products as OUT_OF_STOCK