Remove Free Shipping calculator in favour of a promotion action

This makes sense, since the only place this was being used was in actual fact, only promotions. Having it as an action rather than out on a calculator means one less jump to load the calculator and have that object compute the amount.

The computation now (sensibly) takes place inside the FreeShipping action itself.
Ensure that coupon codes that make shipments free actually work
Create a tax charge for a line item upon creation, but only if an order has a tax zone