Refactor stock related service objects to deal with inventory units.

Prior to this change, stock related service objects (coordinator, packer,
prioritizer, package, adjuster) were tightly coupled to orders and line
items, such that they would only create a set of shipments for the set
of line items for an order.

This change makes those objects work with inventory units, which enables
future enhancements that would create shipments for an order that are
not necessarily tied to the initial purchase (e.g. upcoming exchanges
work).
@huoxito I'm interested to see a good reason to add it where it was removed, if I see that then I'm on board. I do think the removal of it in these objects is a positive step in an effort to decouple more of the order updating logic and therefore reduce complexity, callbacks, and inadvertent changes that start from a non-obvious location