Makefile: fix universal build when source directory path contains spaces
GNU Make uses unescaped whitespace as separators in target and prerequisite lists. In Section 6 (Universal binary driver), defining `TEMP_DIR`, `UNIVERSAL_EXE`, and `UNIVERSAL_SRC_DIR` using `$(CURDIR)` causes Make to split paths containing spaces into multiple nonexistent targets. This produces recipe override warnings, circular dependency warnings, and missing target errors during universal builds (as reported in #7259).
### Changes
- Use relative paths for `TEMP_DIR` (`temp_builds`), `UNIVERSAL_EXE` (`$(EXE)`), and `UNIVERSAL_SRC_DIR` (`universal`).
- Wrap the standard single-arch `$(EXE): $(OBJS)` rule with `ifeq ($(UNIVERSAL_BUILD),false)` to avoid duplicate rule warnings against `$(UNIVERSAL_EXE)`.
- Pass relative `NNUE_EMBED_OBJ=../nnue_embed.o` to per-arch sub-make invocations.
- Use relative symlinks `ln -s ../../$(f)` in the `.setup` rule.
- Use relative `--embed-dir=.` and `--embed-dir=../..` rather than absolute paths.
- Quote shell command paths in recipes (`cd "$(CURDIR)"`, `$(MAKE) -C "$(TEMP_DIR)/$*"`, etc.).
- Add contributor to `AUTHORS`.
### Testing
- Tested `make -n ARCH=x86-64-universal COMP=clang build` in a path containing spaces (`.../Stockfish Path With Spaces/src`). Before this patch it failed immediately during Makefile parsing; with this patch it parses cleanly with 0 warnings.
- Tested `make -j4 build ARCH=x86-64-universal COMP=clang` in a path containing spaces: successfully compiled and linked all slices.
- Tested `make build ARCH=apple-silicon COMP=clang` and ran `./stockfish bench 16 1 1`: all 51 positions evaluated identically.
- Tested `make universalclean` and `make clean`.
Fixes #7259
closes https://github.com/official-stockfish/Stockfish/pull/7260
No functional change