New way of handling ObjHandle and Puoid assignment

The old way of (ab)using signals and slots didn't work across threads.
It could have been adapted but that would mean many needless context
switches during enumeration which is already slow, so: new design.

Now the generation of handles and puoids is done by dedicated objects,
and the storagefactory passes those in to the plugins. The objects are
thread-safe so the enumeration code can use direct calls to get new
handles.