Revert e9f71ab2 - it ends up breaking a declared API

I should have thought of this earlier - a debug object is not necessarily
isa(IO::Handle) (the documentation never mentioned this). And indeed: the
tests of DBIx::Class::QueryLog do exactly this - they use an object with
just a print() method and absolutely nothing else.

So instead of disabling the sticky autoflush (which really is only a visible
change on STDERR dup) document this behavior and move on.
Properly implement very sloppy and lazy hack from bad0b73b

We are abusing local() here - might as well abuse it correctly.
This way we do not add a permanent shitty name to the relinfo structure and
nobody needs to fix their tests. Winning!