fish: fix dir completion on filesystems w/o dirent.d_type (RHBZ#1153844).

On filesystems whose dirent.d_type is DT_UNKNOWN or some unknown value,
manually check whether an entry is a directory, thus completing in the
proper way.
fish: complete symlink properly

When an entry is a symlink, check whether it points to a directory, so
the entry for it can be completed correctly.