Login

@AlexSYanai: Login stuff and error handling for invalid login, plus ONE WHOLE test.