fix(githubService): ensure that all methods retrieve all pages

This fixes the fact that "SHAs since Stable" was displaying as "?",
since the implementation was not getting all the pages of responses
for requesting the tags.

This commit is a fairly major refactoring of the github service.
It tidies up the service, factoring out common code and making better
use of promises.