Store property type information from most specific class instead of most generic class

Consider an example model:

```objc
@interface MyRootObject : JSONModel
@property (strong, nonatomic) MyRootMetadata* metadata;
@end

@interface MySpecificObject : MyRootObject
@property (strong, nonatomic) MySpecificMetadata* metadata;
@end
```

And the metadata classes look like:

```objc
@interface MyRootMetadata : JSONModel
// ...
@end

@interface MySpecificMetadata: MyRootMetadata
// ...
@end
```

Essentially `MySpecificObject` has overridden its `metadata` property to be of a more specific class type. The JSONModel parser prefers to get property name/information from the most root class, rather than the most specific class.

This fix gives priority to the specific class over the root class.