Return the ValidatorResult instead of the array, add some helper methods

Breaking change, now test for result.valid or !result.errors.length instead of !result.length.