refactor with promisify helper

refactor getProfile, getToken, and signin to not break the promise chain