Throw an exception instead of exiting directly
Set user agent in rest client - GitHub does require this
Remove whitelist from GitHub repository
Make the repository more generic
For whitelists use the SimpleList repository
Take headers, parameters and url into account when build cache keys
Don't cache errors
Don't create the repositories multiple times when call getDefaultRepositories
Still some refactoring needed