[FIX] stock: reserved quants in lots
[FIX] stock: reserved quants in lots

Let's take the following case:
- Enable lot tracking on a product
- Costing Method is "Real Price", Inventory Valuation is "Perpetual"
- Create a picking with 2 stock moves, each stock move is linked to the
  same product

When the picking is validated, 4 account moves are created instead of 2.

This occurs because the list of stock moves and the list of reserved
quants is sent to the method `_move_quants_by_lot`, but there is no
check to which stock move is related a given quant.

For most cases, the issue doesn't show up since there isn't usually 2
stock moves with the same product in a given picking. There is at least
one use case where this happens: selling a pack of two identical
products. In this specific case, 2 stock moves of the same product are
created, but one pack operation will merge the 2 stock moves.

opw-680308

laslabs/odoo,ygol/odoo,hip-odoo/odoo,storm-computers/odoo,microcom/odoo,hip-odoo/odoo,Elico-Corp/odoo_OCB,dfang/odoo,microcom/odoo,laslabs/odoo,ygol/odoo,bplancher/odoo,laslabs/odoo,hip-odoo/odoo,Elico-Corp/odoo_OCB,microcom/odoo,Elico-Corp/odoo_OCB,dfang/odoo,dfang/odoo,hip-odoo/odoo,hip-odoo/odoo,microcom/odoo,storm-computers/odoo,laslabs/odoo,ygol/odoo,ygol/odoo,Elico-Corp/odoo_OCB,bplancher/odoo,hip-odoo/odoo,laslabs/odoo,storm-computers/odoo,Elico-Corp/odoo_OCB,ygol/odoo,storm-computers/odoo,bplancher/odoo,dfang/odoo,Elico-Corp/odoo_OCB,storm-computers/odoo,bplancher/odoo,bplancher/odoo,microcom/odoo,dfang/odoo,ygol/odoo,storm-computers/odoo,microcom/odoo,ygol/odoo,laslabs/odoo,dfang/odoo,bplancher/odoo