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
so you are saying that you prefer the alternative implementation where:
```js
always: function (callback) {
  return this.then(callback, callback);
});
```
I don't really care, but as I said, this would be a bit strange since the callback doesn't even know if this is a reject or resolve. I could do that just as easily, obviously, let's just try to agree on the implementation that makes sense.