Impacted versions: 9.0

Steps to reproduce:

* Create an MTO product with 
  * Product Type: Stockable Product
  * Routes: "Buy" and "Make to Order"
* Update Qty on Hand to any quantity (i.e, 2).
* Create a sales order with this product and a number <= to the one in the step before.
* Confirm the sales order.

Current behavior:

The created delivery picking appears in state "Reserved" and the current quantity on stock has been reserved, allowing you to transfer that stock.

Expected behavior:

The created delivery picking should be in "Waiting another operation", or at least in "Waiting availability" until the purchase order is confirmed (if you have defined a supplier for the product and the procurement creates the purchase order), which seems to be the current behavior when there's no stock available (is this also correct, as it allows to manually reserve?).
addons/stock/stock.py
"""
            When new quant arrive in a location, try to reconcile it with
            negative quants. If it's possible, apply the cost of the new
            quant to the counterpart of the negative quant.
        """
        context = context or {}
        context = dict(context)
        context.update({'force_unlink': True})
        solving_quant = quant
        quants = self._search_quants_to_reconcile(cr, uid, quant, context=context)
        product_uom_rounding = quant.product_id.uom_id.rounding
        for quant_neg, qty in quants:
            if not quant_neg or not solving_quant:
                continue
            to_solve_quant_ids = self.search(cr, uid, [('propagated_from_id', '=', quant_neg.id)], context=context)
            if not to_solve_quant_ids:
                continue
            solving_qty = qty
            solved_quant_ids = []
            for to_solve_quant in self.browse(cr, uid, to_solve_quant_ids, context=context):
                if float_compare(solving_qty, 0, precision_rounding=product_uom_rounding) <= 0:
                    continue
                solved_quant_ids.append(to_solve_quant.id)