[7.0] Keep tracking on do_partial when pack was not used

This improve use of pack in picking.


Here is one use case in which it helps.

You prepare a picking with a dozen of packs putting products into your packs.
For any reason, you need to deliver one pack before all others. An urgency for first pack or a delay on others.

You do a partial picking for the lone pack.
Here you will loose all tracking_id for the 11 other pack you prepared.

What we want is that tracking that have no reason to be reset are kept.


And in case you partially process a pack , this fix will also erase the tracking_id to ensure it isn't used twice

Exemple:
In a picking, you have a pack of 3 moves.
You process 2/3 moves with a partial picking.
Your 2 processed moves will have their tracking_id kept and the 3rd will have an empty tracking_id.


Here is the reason why this reset was introduced:
https://bugs.launchpad.net/openobject-addons/+bug/928191

Issue described here is about the risk of having 2 moves with same production_lot_id.
And I guess same reason for tracking_id.

In this Pull request, I take care of checking if a tracking_id has been used or not.
Context is missing there too.