Always downcase promo code on promo.activate [Fixes #3272]

Old spree databases might have promo codes with mixed cases which would
make coupon codes case sensitive

e.g. "nocode" == "noCode" ("nocode" entered by user would be invalid)
Only create promo items if order is eligible

Add a doc block to CreateLineItem.perform block to explain why it's not
suitable for Add to Cart events and explained another possible caveat

[Fixes #3275]
Placeholders translation, 'None' translation in selectors, shipment_states translations

Fixes #3271