[WIP] replenishment cost based on purchases

The first commit is the one from https://github.com/OCA/margin-analysis/pull/10
The second one hacks it's way around the limitations related to function fields and _inherit.
This is still work in progress, it seems to work automatic tests are not finished yes.
Early opinons about this feature are welcome however.
I'd really like to find another way to make sure the methods of `product_cost_purchase` are called *before* those of `product_cost_incl_bom`.
This a blocker for this proposal, we can't force existing users to use a new feature they may not want.