feat(q): make $q.resolve() and $q.reject() return the promise object