* Refactor workflow to introduce EdgeRunner for edge execution.
* Fix edge cases
* Convert Workflow, Edge, EdgeGroup, and Executor into AFBaseModel to support object model serialization
* format
* remove accidental file
* fix typing
* Add type information to EdgeGroup and Executor subclasses
* fix format
* Add condition_name field to Edge
* Add new fields
* remove Optional
* Update
* Use generic for WorkflowContext and use its type parameters to indicate executor's output types
* Update
* Fix type errors and add in-line comments
* fix test
* type
* Fix executor type issues