Allow validation data to be specified after rule definitions

The feature/change allows you to specify the data that will be validated at any time, not just in the constructor.  The data was merely stored in the constructor and then never used until a call to validate was made.  Therefore, functionally, it didn't need to be specified as a requirement to the constructor.

The primary use case for this is a situation where a validator object is constructed once and re-used on multiple records of a similar data structure.  As the class stands now, you would need to keep re-constructing a new validator to validate multiple records with the same rules.