Throw an exception when a Test Operation fails

Hi, so I wanted to use your code for a project of mine, but I wanted the ability to know when a test fails.

Thanks for sharing your project!

Commit Message: 

Created FailedTestException which is thrown whenever a Test Operation
fails.  Before it was not possible to tell if the application of a Patch
returned a simliar object because it failed or because the Patch simply
did not contain operations that resulted in a new, but similar, object.