refactor($q): make $q Promises A+ v1.1 compilant

Refactor to make $q Promises A+ v1.1 compilant
Even if we do everything *by the book*, running `grunt test:promises-aplus` will fail if this is not in place