Added support for GitHub's OTP

This is pretty hacky, there are no nice options. It could be implemented inside the `GitHub` class but that'd require changing how re-requesting credentials is done. I'd have preferred to check for OTP inside `callbackGet()` but the HTTP headers are inaccessible there.

Fixes #2381 and #2280