added Object validator which does the following:
checks if a model value is an object and optional if it is an object of a class provided in the 'class' option
if model value is an array and the 'class' option is provided it will recursively try to populate a new object of that class with the values from the array using the array keys as property names