Move adding of info to file_set to after use.

This moves putting the file info into the file_set after its last
use in the case block, since adding it to the list causes the info
object to be deleted if an identically named entry already exists.

The way it was before would cause semi-random segfaults if the
longname wasn't set, since info would have been deinitialized
on the second branch (else if (info)).

We found this problem when a user's sftp server was returning 
multiple directories with the same name (which is dumb, but 
should not crash the client).