Add start/end and whileActive to the campaigns

Bug: 64685
Change-Id: If336cddba5cf13d4e2a60b0f68cbf6d52b851dd8
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/612
Add beforeActive and afterActive to campaigns

Easy enough, just a copy/paste of the logic from whileActive mostly.

Bug: 64685
Change-Id: I28618b2a5edd6d010f3439a3f2379ca035ef8811
Merge "Add start/end and whileActive to the campaigns"
Merge "Add beforeActive and afterActive to campaigns"