Simplify rescue code

By using the same interface for validators and rescue handlers, the code is much simplified.

ping @tjoyal @sgnr 
`extract_columns` whatever... Not certain if you should rely on a behaviour from another deeper helper method