angularjs: Reverting to using stronger signatures for IPromise. With tests for that.