### What
1. configureable retry count
2. additional logging
### Why
1. pass retry count as a command line arg; default 5
2. show details when api requests fail
### Testing before merge
compiles cleanly
### Validation after merge
compile and test
### Issue addressed by this PR
https://github.com/stellar/ops/issues/2039
- Replace os.rename() with os.replace() for atomic file operations
on Windows (os.rename fails if destination exists on Windows)
- Add entry_points console_scripts for proper .exe generation on Windows
- Create github_backup/cli.py with main() entry point
- Add github_backup/__main__.py for python -m github_backup support
- Keep bin/github-backup as thin wrapper for backwards compatibility
Closes#112