Change promiseThat to pass the fulfilled value to subsequent matchers

This makes the common case (testing for fulfilled promises) much more readable, but it can no longer be used to test for rejected promises.