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 
@stloyd OK, but I see more and more phpdocs like [this](https://github.com/Sylius/Sylius/blob/master/src/Sylius/Component/Core/Model/OrderInterface.php#L35-L40):

```php
/**
 * Set shipping address.
 *
 * @param AddressInterface $address
 */
public function setShippingAddress(AddressInterface $address);
```
I find them useless.

In my case I can say what is return type, but nothing more, description is sufficient imo.