AgentManager: avoid recursion agentTypeAdded->readAgentTypes->agentTypeAdded

Review Request #124603 - Created Aug. 3, 2015 and submitted - Latest diff uploaded

David Faure
and the same with agent instances.
With 20 instances, this would make the dbus call agentInstances()
20 times, when getting the notification that akonadi is starting up
(so all processes are doing this at the same time, very bad for performance).

New solution: read agent types+instances at startup if Akonadi::Control is online,
otherwise when getting the notification that it is, or when getting the
signal that a type/instance was added. Always emit signals, but of course
when doing this from the constructor nobody is listening (no problem, fast).
The old code was using a different code path to avoid emitting signals for
the initially loaded types+instances, so the behavior is the same.

With debug output above the emit statements, I checked what was emitted before and after the patch, seems to be the same.
Tested the case where the app is up before akonadi is started, and the easier case where akonadi is up before the app.