First version of login flow

Includes a UserManager class that will find / create user in CoreData based on a githubID; allows us to get authenticated user data from githubAPI to pass to this class.

NB: These methods in UserManager are not distinct to the currentUser, though they currently save the user as currentUser when called; might be worth providing further functionality to them so that they might be re-used upon creation of other User objects when pulled from github based on a class roll. Something to think about, and if we don't want to do this, we should spend a few minutes discussing the structure for the rest of the users and how we interact with them next time we are working on this.

<!---
@huboard:{"order":5.5,"milestone_order":17,"custom_state":""}
-->

Yank this out and make contexts be parameters to each method