More global destruction fixes.
The existing global destruction tests were not happy on Win32. This is
based on a patch from Robert Krimen, but is greatly simplified by
making sure the only test output we provide is from the .t file,
rather than mixing it between the .t and the helper script.
This also changes how we loop through the ancestors for a class in
DEMOLISH. I was seeing failures on 5.8.8 that happened when the
metaclass object had been garbage collected and we tried to make a new
one. Making a new one failed because the meta-attribute objects for
Moose::Meta::Class itself had also been garbage collected!
This is a hack to avoid the meta-API entirely during destruction.