There's a lot of unnecessary (function(){})() going on here. You could simplify to:

console.log('Collecting Data...');
Q.allSettled([Q.denodeify(...), Q.denodeify(...), ...)