Make Validator::validate methods return Status object

This makes it possible to return the exact error message at
that point, so we can remove the error() method in Validator.

Change-Id: I1e77ad5334938e312b2907542dce7046a7009db8