Catch YAML typos and fix concurrent run crashes
Running several CLI processes on one machine is now reliable, and mistakes in procedure YAML surface immediately instead of being silently ignored.
- Fixed concurrent runs and station commands interfering with each other through the shared state database: the lock is now held only while in use and contention waits politely instead of interrupting other processes
- Added strict procedure YAML validation: unknown fields like
phases:orvalue:now fail with a clear error naming the field instead of being silently ignored - Fixed orphaned Python worker processes surviving after runs,
tofupilot run file.ymlignoring the given file, and timeout phases reporting zero duration
