Form Completion Workflow

![image](https://cloud.githubusercontent.com/assets/249606/3147917/679e0d40-ea5a-11e3-91d2-e946ea0076bd.png)

* [User spec](https://docs.google.com/a/dimagi.com/document/d/1V8Oue_43GnMTYV2OKNx5MRvAIdxFs7TQtt_HN_-6V50/edit#heading=h.v1gf9mhs7nhi)
* [Tech spec](https://confluence.dimagi.com/display/ccinternal/Form+Completion+Technical+Spec#FormCompletionTechnicalSpec-ImplementationGeneralization)
* [QA Ticket](http://manage.dimagi.com/default.asp?116943)
This is... pretty confusing. Doesn't [https://docs.python.org/2/library/functools.html#functools.total_ordering](total_ordering) define this for you?