Fix #88. Throwing a promise rejects with the eventual value/reason of the thrown promise
Remove duplicate test
See #91. deferred.reject(promise) now rejects with the eventual value/reason of promise regardless of whether promise fulfills or rejects