Reformat code
Remove InputIterator, use standard ArrayIterator
Rename ValidationScopeFactory interface to IValidationScopeFactory to keep standards