Refactor how the GitHub importer imports labels and pull requests
Description
Currently the GitHub importer will first import issues and then pull requests. In GitHub though all pull requests have an issue that contains the labels and some other metadata. When importing issues first any issue that has a pull request is skipped, then when importing the pull requests another API call is made to get the original issue so that the pull requests labels can be added. This causes the number of API calls to be ceil(number of issues / 100) + number of valid pull requests + ceil(number of pull requests / 100)
.
This could be refactored so that merge requests are created before issues, then the issues can be updated to not skip ones will pull requests. This would reduce the number of API calls down to ceil(number of issues / 100) + ceil(number of pull requests / 100)
which for projects with a large number of pull requests would be huge (the project I'm currently importing requires an extra 1600 API calls for all the pull requests).