Advanced cleanup covers areas such as cleanup of heap arrays, cleanup
of non-CBase classes and use of TAutoClose.
CleanupStack::PushL().CleanupDeletePushL() pushes a TCleanupItem onto
the cleanup stack ready for CleanupStack::PopAndDestroy() to
delete.CleanupReleasePushL() pushes a TCleanupItem onto
the cleanup stack ready for CleanupStack::PopAndDestroy() to
release.TAutoClose can be used
to clean up when an object goes out of scope.