Add FTP module

Not ready for review yet