[nemo-qml-plugin-calendar] Enablers for DB operations in thread

The NemoCalendarManager class controls a thread implemented by
class NemoCalendarWorker which runs all DB operations.

NemoCalendarManager provides an API through which calendar data
is accessed. Most of the functions in the API are asynchronous,
results are reported through signals. The two exceptions are
the synchronous functions NemoCalendarManager::createEvent(),
and NemoCalendarManager::convertEventToVCalendarSync().

NemoCalendarManager keeps a cache of loaded events and occurrences,
and consults the cache when it gets requests for calendar data.
In addition, NemoCalendarWorker prepares the data structures used
by NemoCalendarManager to keep calendar data processing in the GUI
thread to a minimum.

NemoCalendarManager and NemoCalendarWorker load data from DB into
memory by time periods. NemoCalendarManager stores the loaded
periods so that it knows what data is currently cached, and what
data needs to be reloaded if the DB is changed by some other
software entity. The periods are automatically managed by
NemoCalendarManager.
[nemo-qml-plugin-calendar] Refactor plugin to use DB thread

No changes to the public API.
[nemo-qml-plugin-calendar] Remove obsolete code
[nemo-qml-plugin-calendar] Prefix source files with SRCDIR

Enables including src.pro from other pro files
[nemo-qml-plugin-calendar] Add test framework
[nemo-qml-plugin-calendar] Tests for NemoCalendarManager::isRangeLoaded(...)
[nemo-qml-plugin-calendar] Tests for NemoCalendarManager::addRanges(...)
[nemo-qml-plugin-calendar] Packaging for tests
[nemo-qml-plugin-calendar] Remove obsolete yaml file