Implementing the LIST command

The LIST command returns a list of the current files and folders of the current folder or at the given parameter path. This is already very difficult itself because you need to check that the final path is accessible to the user (for example, if you receive foo/../../ when you're at "/", there's an issue). But that's not all! When you're transferring the files and folders list, there is no official way to format it! Fun, right? Luckily, most of the FTP clients follow some kind of non-official RFC for this case, and we'll use it.

In addition to all of this, this command is the first one that we'll implement that uses the data connection. This requires you to add another command: PASV.