Naming cleanup
It's much more common to keep the same settings for the entire conversation, we can add per-turn overrides later.
Also perform minor code cleanup.
To help with compatibility
Make options not required, add support for working directory and skipGitRepoCheck options on the turn
Executable detection uses the same rules as the codex wrapper.