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
(1) - it would make no sense to add 2 callbacks, it becomes "then"
(2) - I might misunderstand the code above, but that seems to be different from jQuery's implementation where the return of an always call is pushed to the next one in the queue (.then, 
.always, etc) - but I presume that is what you intended to do.