outputconfiguration: Make OutputChangeSets to be used as QSharedPointers

Instead of parented QObjects, this way we can keep them around as we
need them. In practice it's a data only structure which makes it safe.
This allows us to treat configuration changed events asynchronously.
1 job for !266 with work/owner-changesets in 5 minutes and 36 seconds (queued for 6 seconds)
latest detached
Status Name Job ID Coverage
passed linux kf5-qt5 qt5.15 #119806