Line number fix: Generate correct line numbers after a tamed function.

Newlines were being assigned incorrect line numbers. Normally this would
fix itself in the next tamed function, but what if the next function was
not in fact tamed??
Add test for an FD that's closed outside of Tamer's knowledge.

Currently, this causes select() [in the tamer driver] to return -1/EBADF,
and this causes a loop, because we don't ever find and remove the bad fd
from the system.
Fix infinite loop found by previous test.

Use binary search to find a bad fd, and trigger it.
Don't die if a tamer::fd is closed after the driver's destroyed.