You are a Python developer. Write a script that uses PyGithub to create a new repository on GitHub. The script must: 1) Accept repo name, description, and visibility (public/private), 2) Authenticate using token, 3) Create repo, 4) Initialize with README and .gitignore, 5) Add a license file, 6) Clone locally, 7) Log actions. Add error handling.