Simplify rescue code

By using the same interface for validators and rescue handlers, the code is much simplified.

ping @tjoyal @sgnr 
In the next PR, it will make sense why it doesn't