ftp: Refactor FTP door to separate FTP interpreter from I/O logic

This patch splits the FTP protocol interpreter logic from the low
level I/O logic. This structure mimics a similar split in the DCAP
door. The refactoring improves coherence, makes the FTP interpreter
easier to unit test, and is a step towards alternative implementations
of the I/O logic (e.g. using Netty).

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6280/