Rudimentary support for exceptions as results

Add rudimentary support for proceeding with shrinking even if the function being tested throws exceptions for some inputs.  When a function under test throws an exception, it is captured for the `:result` slot, and inputs are shrunk as if the failure were a simple non-truthy return.