Redo FTPPath from scratch, add FTPFileSystemProvider

In fact, no method does anything at the moment...
SlashDelimitedPath: change component list building

In particular, make it immutable. Also calculate whether the path is normalized
at construction time.
Some basic filesystem implementation code
SlashDelimitedPath: fix bug with the empty path...

The code is still ugly as hell though. This class should be made abstract.