Revert "Revert "Test: Copy filehandles if we can""

This reverts commit 189d1ce84ce1ac4f86fa34153c043cb1d5836140.
Print TODO diags to todo_output
Fix exit codes for Test.pm
Test: Make sure we close all handles

Some VMs (ex. Parrot) don't finalize objects like file handles during
program shutdown, so there may remain data unflushed from userspace.
Grab call frame from outside of conditional

This is necessary due a bug in MoarVM