Implement generic List properties

@jpsim 
You need to test getGenericListPropertyNames with subclasses to make sure generic properties in the base don't get counted twice. We may need to do this loop only once per object-class rather than at each level of the object heirrarchy.