Added to IntermediaryResultHandler handling of a final match as well and...

... improved match/mismatch messages for more complex matchers (now based on describeMismatch() method of a matcher, not on toString() of actual value).

Note that now messages from IntermediaryResultHandler might be a bit different from those in assertion timeout exception. An example can be found in a new unit test IntermediaryResultHandlerTest#expectedMismatchMessageForComplexMatchers that uses SamePropertyValuesAs Hamcrest matcher: it returns only a property of a Java Bean that does not match, as displaying all properties of  the bean might not be so clear here (plus you would need to implement toString() method of the bean properly).

Assertions timeout message I left unchanged.

Please, let me know if you agree for such a contribution.