Ensure to disable autoclosing for new IO we reopen for spawn

This should be the final nail in the coffin for the glarkbang
Process#spawn issue, because we would GC in the forked process and since
we didn't have a reference anymore to the reopened object, it was
closed.
Add spec for Dir['{}'] returning an empty array
Default to an empty string if the pattern is nil in Dir::Glob::Match

Adds first-class support for Dir[''] and Dir['{}'].

Fixes #2526