Fix ROOT-5284 which was due to an unusual setup (in TParallelCoord) leading to only partial cleanup.

In some cases, for example TParallelCoord, a list (the pad's list of
primitives) will contain both the container and the containees (the
TParallelCoorVar) but if the Clear is being called from the destructor
of the container of this list, one of the first things done will be the
remove the container (the pad) for the list (of Primitives of the
canvas) that was connecting it (indirectly) to the list of cleanups.

So in Clear and Delete, we temporarily add each list and TObjArray to
the cleanup list and remove it later.

(cherry picked from v5-34-00-patches
 commit b31faa1f86ec3609d9112e504994cc8150a64b5f)