delivery_carrier_label_dispatch - Improve efficiency of label generation by threading it.

For instance for postlogistics, using serialized calls to the SOAP web service
is a really slow as it would wait for a response before sending the next
request.

Also improve exception feed back. And thus exception are non blocking for all
label generation. You will only have to relaunch generation for failed ones.

Pre-requisite : 

- [x] https://github.com/OCA/carrier-delivery/pull/28

I moved this PR from Launchpad [0] on behalf of @yvaucher, he's the author.

[0] https://code.launchpad.net/~camptocamp/carriers-deliveries/7.0-threaded-dispatch-label-generation/+merge/215184
:warning: race condition!

 you've filled the queue before launching the threads, you have 2 threads and 1 element in the queue, both threads test `not q.empty()` and get True, first thread calls `q.get()`  gets the last element, 2 second thread calls `q.get()` and is blocked forever. 

You need to use either 

* `q.get_nowait()` and handle the possible exception, 
* or `q.get(timeout=5)` and handle the possible exception.