Improve cost move selection
The cost_price is stored on the product but it is a MultiValue field. So it depends on some contextual criteria. For now it is only company but it could be extended to include for example warehouse. So the way the stock moves are selected should be customizable and depends on the context used to write the MultiValue.
Also we could improve the fifo selection be skipped moves which has quantity >= fifo.