WIP Deduploads

Work in progress to deduplicate loads of adjustments via enforcing the same object graph walking on each adjustment access.
It would be easy to make them stable if you wanted:

```ruby
def best_promotion_adjustment
  @best_promotion_adjustment ||= adjustments.promotion.eligible.sort_by.with_index do |promotion, index|
    [promotion.amount, Time.at(0) - promotion.created_at, index]
  end.first
end
```