Make registering an aspect synchronous

Change-Id: I23f86be32fac395ebd5bc214308e96d0c501c8bb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Make QAbstractAspect::initialize private and QAspectManager a friend

Change-Id: Iabcf2b341f5fb604a0ec06a0ce6429f8f9851d5f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Move aspects to the aspect thread when registering them

If the aspect creates any additional QObject children in it's init
method then this will help prevent surprises over thread affinity.

Change-Id: I2e137f4adfc0318e778663ca03a77e06fdde2b81
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Rename QAbstractAspect::initializeHelper() to onInitialize()

Change-Id: I8acf09f111d5f08a0d2826972cf613a589ac22ad
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Make QAbstractAspect::cleanup() private

Change-Id: I5e9d788a48a865bc2208974d4e78e9ca278ee534
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Rename QAbstractAspect::cleanupHelper() to onCleanup()

Change-Id: I7b311fa3000381254a747a60bce33b1ab2b49241
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QAspectManager::setRoot() uses Qt::BlockingQueuedConnection

This keep the method synchronous but removes the need to use an
additional QMutex and QWaitCondition inside of QAspectManager.

Change-Id: Idd94ac4c7d7c47cd1fdd4fec82103a47a93d10e5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>