set up game loop
moved waitForPlayers() call from addPlayer() to game loop
implemented waitForPlayers() stage
cleaned up nameChosen() and initialized global local-player inside it
reformatting, reorganization, and commenting
made setMaster() and setGiver() return the set player
redesigned getInput() to return a promise instead of taking a callback
redesigned getInput() to return a promise instead of taking a callback