Added new TNoPublicConstructIntfObject class that provides a protected constructor but fails if the public constructor is called. For use as a base class for reference counted interfaced objects that are constructed via class methods but should not be constructed directly.