Fixes coupon codes application for CreateLineItems action. Fixes #4697
Refactor Spree::ProductHelper#variant_price_diff

* Change the logic of the code to make it easier for the next
  commit.
* Remove duplicate code from the HTML generation.

Change #variant_price_diff to handle when the product amount is nil

Fixes #5493