8.0 port module stock_reserve_sale

Includes re-factoring with new API

This PR depends on https://github.com/OCA/stock-logistics-warehouse/pull/8 which is merged :smile_cat: 
use `self.ensure_one()` rather than an `assert` statement