Refactor Line Item Promotion Actions & Eligibility

Extract payload to a let statement.

Refactor eligible_rules to return rules.

This is helpful to understand which rules a promotion matched at some
point later down the promotion chain.

Extract line items to adjust in to Promotion.

This is part of moving the logic out of the promotion actions in to a
place that knows a little more about the context of what should be
applied.

Add actionable? call.

Move line item actionable to promotion.

No adjustments for non-actionable items.

The logic around this has changed a little, as adjustments are no longer
created for non-eligible promotions, due to the selection on actionable.

Remove products method (no longer used)

This is deprecated, as this logic is all done internally by the product
rule and related actions.

Closes #5036