Failure handler - the ability to set a custom action to perform on failed assertions

This way we can safely introduce assertions into code that "sorta works" on production and just report the failures instead of raising an exception from the whole request