Deduplicate Spree::Adjustment loads for performance

* Reduces the available object graph paths to access Spree::Adjustment
  instances to one.
* Reduces the amount of duplicates being loaded via performing in-memory
  scoping on associations.
* Significantly reduces the amount of lazy loads triggered within most
  order operations / populations through the elimination of duplicates.
I would suggest coercing `params[:id]` to an Integer instead of coercing each adjustment id to a String.

The reason is that, by convention in rails, the id can be of the form `123-some-ignored-string`. When the id is passed into the `#find` method it will be coerced into an Integer first. I would suggest keeping those semantics.

Also, I might also suggest tightening things up a bit by using `Hash#fetch`, eg:

```ruby
def find_adjustment
  # Need to assign to @object here to keep ResourceController happy
  id = params.fetch(:id).to_i
  @adjustment = @object = parent.all_adjustments.detect { |adjustment| adjustment.id.equal?(id) }  
end
```