Return result from awaited hamcrest condition

There are situations where it would be useful to work with the result of a hamcrest condition. Currently this is impossible without calling the supplier again, which may have a different state than when the matcher was satisfied. In situations where the supplier would return the same result, then this is simply nice sugar.

Passes all unit tests, though I would like to write some more to test this functionality, pending comments on this change.

Also, this would fix https://code.google.com/p/awaitility/issues/detail?id=13.