Optimization: skip QSet::toList() conversion just to check for emptiness.

This code is called very often while loading a folder (with threading enabled)

Maybe in frameworks these methods (mimeTypesMonitored etc.) should return QSet
to avoid the conversion altogether?

REVIEW: 120552
MonitorTest: cacheOnly

Since we set the resource offline we need to set cache only.

Or should we not hit the resource anyways if all data is already in akonadi?
ChangeRecorderTest: Fixed.

We have no eventcompression in monitor but some in the server, adapt to that.
Revert "protect against replaying notifications on bad data"

This reverts commit 9e6cd3b431632fd7c5dfbeb39f1b4bb5003fb69b.

We do handle invalid notifications by simply ignoring them. This is not
a problem any more since we no longer set someOneListened = true.

Conflicts:
	akonadi/monitor_p.cpp
Fixed ItemDeleteTest
Fixed ItemSyncTest
Fixed MonitorFilter test
Fixed ResourceScheduler during test.
ResourceBase: fetch collections again before item sync and attribute sync.

Otherwise we potentially use outdated attributes during the sync.
ResourceBase: Allow to directly append a task without waiting for a collectionfetch.
ResourceBase: allow inserting an attribute sync before every sync.