[nemo-qml-plugin-calendar] Give AgendaModel an endDate

Also merges the events when the start or end dates are changed,
rather than resetting the model.  This allows for more elegant
views.
[nemo-qml-plugin-calendar] Add QtDate API for better date manipulation

The builting JavaScript Date object is not consistent with respect
to leap years.
[nemo-qml-plugin-calendar] Include recurrences in agenda model