LineItem promo action `perform` receives a line_item

Instead of getting an order and looping through order.line_items. It
makes this class pretty much with the same behaviour as CreateAdjustment
except that they both need to work with different totals attributes.

Both CreateAdjustment and CreateItemAdjustment `perform` receives and
object and creates the adjustment with the given object as the
adjustable.

I think this duplication might be ok for now just so that we don't
overengineer it too early. I guess it's also simpler. They may differ
at some point and if they don't we can unify them later on