Reloading properly defers to unfulfilled promise

When you call $reload() on a resource (or pass the resource to
api.reload()) and the original $promise is not yet fulfilled, the
returned promise now correctly proxies resolution, rejecting, or
notifications from that promise through to the reload promise. The
existing behavior had a bug where a rejection on the original promise
would actually be used to fulfill the reload promise rather than reject
it.