libdeng2: Trying out a DENG2_PRIVATE compatible with old compilers

std::auto_ptr<> with an undefined struct is not tolerated by some
compilers. Now DENG2_PRIVATE uses a custom PrivateAutoPtr class that
reinterprets the unknown instance type as an IPrivate when deleting.