Bug Fix: Unable to enroll in campaign from tasks

Trello link: https://trello.com/c/13qiI3g7/1153

"startTime" field for a campaign is always expected while providing
campaign message definition. But there might be cases when startTime is unknown
and it need not be provided in the json. The fix handles this, and also
throws appropriate exceptions when neither of "startTime", "deliveryTime",
"referenceTime" are given (depending on offset).

Additionally, as part of this bug, DocumentUpdateConflicts because of
multiple updates to a task is avoided during server startup, which fixes the
issue of a task getting disabled even for registered module channels.

Also, fixes IT which were failing becuase of recent config module changes.

Change-Id: Ia2acd299062973fe5cae910bbebe46d8a840ab67