[WIP] Adjustment origin

We had cases when we want to apply some actions on order complete based on promotions applied (e.g. deduct gift card credits on order complete). The handiest way to do this without much effort and duplicating logic is to read amount form adjustments. But then we come to a problem of identifying the right adjustment.

Creating new `Adjustment` model which extends existing one and references back `Promotion` can be a life saver here. I think we can put it in promotion component with soft dependency on order component.

What do you think  @Sylius/core-team @pjedrzejewski?

cc @kayue 
`shouldBeCalled()` is spy that is useful when you don't expect returned value, `willReturn()` will force method to be called & will check returned value, so it does two checks, I have already explained this in some other PR:
```php
// Don't give a sh*t what object returns, just call it
$object->setData($data)->shouldBeCalled();
// Call object & check returned data
$object->getData()->willReturn($data);