io: call finish function after fd is actually closed.

This turns out to be the right sequence for pettycoin, which
wants to reap the child in the finish routine.  From that sample
size of 1, this is clearly the Right Thing!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>