Allow starting workflow from any start state

Inserting workflow instance now starts from the state specified in the instance. This state must be of type `WorkflowStateType.start`. If no state is specified, workflow will start from state defined in `WorkflowDefinition`.