CommandHandler for the LIST command. Handler logic:
- If the user has not logged in, then reply with 530 and terminate
- If the current user does not have read access to the file or directory to be listed, then reply with 550 and terminate
- If an error occurs during processing, then send a reply of 451 and terminate
- Send an initial reply of 150
- If the optional pathname parameter is missing, then send a directory listing for
the current directory across the data connection
- Otherwise, if the optional pathname parameter specifies a directory or group of files,
then send a directory listing for the specified directory across the data connection
- Otherwise, if the optional pathname parameter specifies a filename, then send information
for the specified file across the data connection
- Send a final reply with 226