the __doc__ into the subclass instance __dict__. The fix refactors property_copy to call property_init in such a way that the __doc__ logic is re-executed correctly when getter_doc is 1, thus simplifying property_copy.
I added also the feature that a @prop.getter decorator does not overwrite the doc string of the property if it was given as an argument to property().