Guard against deadlocks at startup due to object lock being held.

When we create the Probe and its children we can deadlock when
other threads also create QObjects which internally use mutexes,
such as e.g. QAbstractSocketEngine. Instead we now create the
probe without holding the lock, and only thereafter acquire the
lock to register all objects which where added beforehand.

This requires some cleanups and refactorings, esp. we get rid of
ProbeCreator::track/untrackObject and now always use
Probe::object{Removed,Added} which keeps track of these items in
a static list if not yet instantiated.