replaced Validate method with new Validator

Fixed Input class to use new Validator
created ExtendedValidator for custom validations
moved these classes to their own namespace Validation
made all tests pass