Refactor code

- Use eager loading
- Require libs only if needed
- Use Octokit.rb
- Split logic into multiple files