Fix login for invited users
Fix login for invited users

When someone who is not already an exercism user gets
invited to join a team, we create a placeholder user for them containing
just their GitHub username.

The first time they log in, we associate their GitHub information (id,
avatar, email if available) with this placeholder user, and correct the
case of their username.

We were failing to store the github id, which would make it impossible
to log in, since we would be storing a nil github_id in the session.

Closes #2355.
Closes #2351.
Closes #2331.

sheekap/exercism.io,chastell/exercism.io,k4rtik/exercism.io,tejasbubane/exercism.io,emilyforst/exercism.io,chinaowl/exercism.io,alexclarkofficial/exercism.io,emilyforst/exercism.io,mhelmetag/exercism.io,colinrubbert/exercism.io,beni55/exercism.io,alexclarkofficial/exercism.io,nathanbwright/exercism.io,colinrubbert/exercism.io,tejasbubane/exercism.io,RaptorRCX/exercism.io,treiff/exercism.io,Tonkpils/exercism.io,beni55/exercism.io,amar47shah/exercism.io,RaptorRCX/exercism.io,RaptorRCX/exercism.io,nathanbwright/exercism.io,Tonkpils/exercism.io,tejasbubane/exercism.io,bmulvihill/exercism.io,beni55/exercism.io,amar47shah/exercism.io,mhelmetag/exercism.io,jtigger/exercism.io,k4rtik/exercism.io,chinaowl/exercism.io,kangkyu/exercism.io,treiff/exercism.io,kizerxl/exercism.io,alexclarkofficial/exercism.io,colinrubbert/exercism.io,jtigger/exercism.io,copiousfreetime/exercism.io,RaptorRCX/exercism.io,mhelmetag/exercism.io,sheekap/exercism.io,treiff/exercism.io,bmulvihill/exercism.io,exercistas/exercism.io,amar47shah/exercism.io,jtigger/exercism.io,IanDCarroll/exercism.io,exercistas/exercism.io,sheekap/exercism.io,exercistas/exercism.io,tejasbubane/exercism.io,k4rtik/exercism.io,IanDCarroll/exercism.io,bmulvihill/exercism.io,chastell/exercism.io,sheekap/exercism.io,chastell/exercism.io,jtigger/exercism.io,chinaowl/exercism.io,copiousfreetime/exercism.io,nathanbwright/exercism.io,emilyforst/exercism.io,bmulvihill/exercism.io,kizerxl/exercism.io,IanDCarroll/exercism.io,copiousfreetime/exercism.io,copiousfreetime/exercism.io,mhelmetag/exercism.io,Tonkpils/exercism.io,nathanbwright/exercism.io,Tonkpils/exercism.io,IanDCarroll/exercism.io,kangkyu/exercism.io,kangkyu/exercism.io,kizerxl/exercism.io,treiff/exercism.io