Fix ftp transport so that it handles the 'mode' parameter when provided.
* ftp.py:
(FtpTransport.put_file, FtpTransport.mkdir,
FtpTransport._try_append): Use _setmode.
(FtpTransport._setmode): Fix implementation (parameters were
reversed and mode not converted).
* ftp_server.py:
(test_filesystem): New filesystem implementing chmod.
(test_authorizer.authorize): Use our filesystem when authorized.
(ftp_channel.cmd_site): Implement SITE CHOWN.