Massive test suite enhancement.
Massive test suite enhancement.

- Instead of using an unique FTP daemon for running all tests we now start a brand new daemon for every test starting it up in setUp method and shutting it down in tearDown.
- All the parameters used for creating the FTP server (authorizer, ftp_handler, etc...) became available as FTPd class attributes for future testing purposes.
- Tossed the use of "ftp" global variable referencing the client instance and used a self.client attribute everywhere instead.
- Added thread locks around FTP daemon's main loop. This should avoid occasional test failures on Windows.
- Tossed the use of PORT constant and had the kernel choose a free random port for the FTP daemon instead.
- It is now possible to customize FTPd() class instance by specifying the host and port to listen and the level of verbosity of the server.

giampaolo/pyftpdlib