[#2023] Add support for readLink.

Problem description
===================

We had some untested readlink support on Linux but it was bad and was only on Windows.

We need an uniform support on all platforms.



Changes description
===================

Add support for readLink.

This also improves support for exists() in Windows as now will check if target exists and have similar behavior on Unix and Windows.

readLink will only read the link at a single level and will not follow links for links.

readLink is locked root safe since it will use filesystem.getSegmentsFromReal path to guard the path inside the root folder.

I am not sure how other methods like openFileForReadind / deleteFile / deleteFolder behaves... but I guess that the can evade the locked root.
Not that we have cross-platform support for symlinks I will create a separate ticket to write  tests for that.

Hard links (and NTFS junctions) will still break the locked folder since they are transparent, but users should not be able to create hard links from SFTPPlus server.


How to try and test the changes
===============================

reviewers @alibotean 
depends-on: #25 

Check that changes are ok.

This was also developed using TDD and buildbot without touching the Windows system for manual testing. Automated test are the only tests I have performed.

Once we have a basic symlink support, it  will be integrated into server and Laura can perform more brutal tests.