Allow automatic OAuth token creation, like `hub`

When calling a `hub` command that requires GitHub authentication for the first time, the prompt asks for username and password (never saved) to request an OAuth token from GitHub (which is saved) for all future authenticated calls.

I think it's a nice shortcut so the user doesn't have to create a token via the website and copy-paste.

### Example
To resolve the default username and access the user's private repositories: `hub clone -p repo` that resolves to `git clone git@github.com:henrahmagix/repo.git`.
Fixed in #10 by making sure `callback` isn't called until `get2FA` returns, unless `has2FA === true` in which case `callback` is called immediately.