feat($q): finally callback is called with result arguments

before this commit, `finally` callback was called with no arguments and couldn't know whether the promise was resolved or rejected and why.

Closes #9246
it would be ideal to behave the way other promise implementations do, I guess