Solution for Promotion by Cart Item input name/value

This updates the function model/Item::match() to allow assigning a promotion based upon a cart item's extra data associative array -- by either key or value of the array. This is also referred to as 'Input name' and 'Input value'.