Cycle Task states

This commit enables changing states for Cycle tasks. 

Known bugs: Due date check doesn't work because `instance.end_date` is a string instead of a date object. Need to figure out why it isn't a date object (in audit `instance.date_due` is an actual date).
Whoops, this bit isn't related to task cycles, but it prevents a potential script error so I think it's ok to leave it in.