Remove PerItem calculators

These are no longer needed, given that we have CreateItemAdjustments actions, which use different calculators
Rename PromotionRule#unique_on_activator to PromotionRule#unique_on_promotion
Fix Adjustment state machine tests
[frontend] Add test for automatic application of free shipping promotions
stub apply_free_shipping_promotions in checkout_spec to stop the failing tests
Test apply_free_shipping_promotions calls all the right things
Stub apply_free_shipping_promotions in state_machine_spec so it does not run
Use promotion_id and not activator_id in promotion_rule_spec
Remove test from promotion_spec that conflicts with another

This conflicts with the test on line 264. If there are no applicable rules for a promotable, then the promotion is instantly eligible?

Promotions are 'blacklisted' by their rules, not whitelisted.