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
I'll have time to look into it tonight, so I guess you can do it too if you don't want to wait. From initial (and very superficial) look it doesn't seem like other promise implementations are doing something like this except for maybe jQuery.