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`.
StartState can be used as an optional parameter in the REST API to start workflow in other than default state.