[REF] build.py: refactor script to improve readability and error handling
- Replaced subprocess.call with subprocess.run for better error handling.
- Added type annotations to functions.
- Used f-strings for cleaner string formatting.
- Improved exception handling with specific FileNotFoundError.
- Decoded subprocess output to handle byte strings.
- Removed unnecessary Git commands.
- Enhanced command-line argument parsing.
- Ensured Docker image build only runs when file changes are detected.