[WiP] rework travis login, extract github logic into its own class

Do not merge yet.