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

Refactor to make $q Promises A+ v1.1 compilant
you mean an already fulfilled promise --- I still think this is just adding gunk that isn't really needed, this is fixed if we do a better job with scheduling settling of promises and manipulating the stack of $pending handlers.

Honestly, we're adding so much unneeded gunk here just to avoid solving the problem in a simpler way, I don't get it