Remove workflow step validity check (to support rollbacks)

Refactor workflow API to avoid hard-coding first step logic.
Merge pull request #423 from edx/will/more-workflow-refactoring

More workflow refactoring