when an affiliate closes a workshop, store a snapshot of the attendee progress data

This is done in the form processing stage by doing a query on the Section, Follower, dashboard db

* added a second argument to the form's `process` method, `last_processed_data`, which I use to ensure that the progress data snapshot is done only once

* move some constants from dashboard to /lib/cdo so pegasus can use it