Make update shipment handler accept inventory units

In
https://github.com/spree/spree_wombat/commit/a1c78bbd0c95879054e3a9954f398618f4bfd0c6,
we updated the shipment serializer to push inventory units, so if we are
updating, we should use them as well in case there is a variant mismatch
as there is with exchanges

If a shipment happens to be created using the add_shipment_handler
instead of pushed with the serializer, even though that builds inventory
units from the line items matching the shipment items skus, we should
still be ok because it should match the inventory units similarly to how
it previously matched line items.

Change update shipment handler to expect flattened inventory items, since that is what is generated in the serializer

Make sure to cast quantity to an integer

Handle multiple inventory units of the same sku and quantity in update shipment handler

Fixes #39
Add handlers exception logging to Rails log
Fixes #42
Fixes #44