Ensure quantity is coerced to integer in OrderContents#add_to_line_item

It *might* come from a controller parameter, which is a string. The API's LineItemsController#create action does this, for instance.
No need to call `order.create_proposed_shipments` twice

Shipments are already destroyed and created every time order moves from
address to delivery

Fixes #3181