added TAutoFree class and its IAutoFree interface, for simple local variable life-time automatic management