While some implementations of `getcwd` may return an allocated string instead of the given char buffer in some cases, this is not the expected behavior of the BLI wrapper. Not to mention the danger of returning a pointer to a static char buffer... Improve `ChangeWorkingDirectoryTest` to be more 'full check' regarding behavior of both `BLI_current_working_dir` and `BLI_change_working_dir`. Also move call to `BLI_threadapi_init` into proper `SetUp` method (to have correct symmetry with the call to `BLI_threadapi_exit` in the `TearDown` one). Based on investigation by Charles Wardlaw (@CharlesWardlaw). Pull Request #105220