Add status column and state machine to workflows table

Related to the APIs in !156872 (merged) we need to add a status column with the different states expected. We'll also need to support update the state via APIs. We should use the state_machine approach we use in other models to persist this.

Edited by Dylan Griffith