[-] CORE : CartRule::checkProductRestrictions : A gift product in the same category as its restrictions causes the gift to stay in the cart even if emptied

To reproduce the bug:

BO:
- Create a category "Test category"
- Create 2 products "A" and "B" in this category
- Create a CartRule which sends "Product B" as a gift, and only applies to products in "Test category"

FO:
- Add "Product A" to the cart, then go to your cart
- You should see "Product A", and "Product B" as a gift
- Remove "Product A" from the cart: Product B should disappear but it stays in the cart and cannot be removed

The suggested fix adds an SQL condition to prevent this scenario.