[FIX] sale: when invoicing on lines, set order in progress when all lines invoiced

This fix is related to rev. b1df5aab6e529e9667bb97c96c9196e1a4e5e0ce
[FIX] stock: UoS quantity in stock.picking

Implements the UoS TODO items on stock.picking.do_partial() to fix #1432.
Add a new method _compute_uos_qty() on product.product to computes
product's invoicing quantity in UoS from quantity in UoM.

The created invoice will use the product_uos of the stock.move, meaning keeping
the quantity specified on the partial picking and the unit of measure of the
original stock.move (e.g. recieving 1 dozen from a 12 unit picking should either
get uos=dozen, uos_qty=1 or uos=unit, uos_qty=12, not a mix of both)

Fixes #1432, opw 611479
[IMP] .gitignore maintenance migration scripts
[FIX] base_action_rule: Make sure model exists before trying to wrap hooks

In certain cases, before running an update unregistered models will try to
register hooks. Trying to wrap create and write on these will cause
AttributeError on model_obj which would be None

Signed-off-by: Sandy Carter <sandy.carter@savoirfairelinux.com>
[FIX] Partners with invalid email won't halt notification to others.