Path methods — symlinks improvement

I'd like to see .is_symlink() myself (though I don't have Rust code that cares right now, I do have it in other languages).

IIRC, Path::exists() uses stat, so with this, it is possible that !broken_symlink.exists() && broken_symlink.is_symlink() is true. So it might be a bit confusing without reading the docs (which does mention this issue at least). Though, IMO, using stat was a mistake, I don't think that can be fixed anymore.

See also this thread: