Made ConstraintType(s) collection.

And changed code to match collection.
Logic added to ignore the null value.
New class add in hierarchy.

Classes deriving form this class will also validates against each value in collection property.
Catogory property added to ValidationAttribute.

Category property can be used to include or exclude property from being validated.