Create a GithubFactory to enable loading a bot account

We have areas in the code that will always require a bot account to ensure we have the permissions to do something.  Using the DI container, we're unable to load a bot account without repeating the provider's code and manually building a Github object with a bot account.

To get around this, I've created a GithubFactory which has the logic that was once in the provider and added a flag that will force the returned Github object to be that of a bot account instead of potentially receiving an instance with a logged in user.

I found one place in the code where we had something commented out as needing a bot account, so I've updated that code to use this as a proof of concept.