feat(product): adds hasInfiniteStock method
feat(product): allow passing in a variant to calculate base price per variant