Verify Consumer Tests Properly

The original implementation assumed that all test frameworks would use exception throwing as their mechanism to indicate failure.

This is not the case with Specs2

This fix allows framework bindings to supply the verification mechanism.  
In the case of the java support code I'm leaving it as exception throwing for now...  I am pretty sure that's how junit works, @uglyog might know better?

I'll leave this as a pull request for a day or two, if no-one disagrees with the implementation I'll merge it