rename argument to fvalidate and update docstrings
rework the validate method to not shadow errors that take place inside
the fvalidate method
add support for defining an `fvalidate_info` argument used when raising
errors
update tests