* New: Revise `get_gift_data()` to always include product object in 'data' key.
* New: Only attempt to add the free gift to the cart if it is purchasable.
* New: Even strict enforcement of quantity of gift in cart, which will help integration with mini-extensions.