sftp server, file browser

configuration
---
to configure sftp server:
* add `[sftp]` section to `default.ini`
* add `root` option to `[sftp]` section, pointing at root folder for files

to enable uploads:
* create `__uploads__` directory in sftp root

to enable file browser:
* add menu option for `gosub('files')`

things to add
---
* `FILE_ID.DIZ` caching, but that seems like premature optimization at this point
* ability to enter manual descriptions for files (will depend on same storage mechanism that holds `FILE_ID.DIZ` cache)
* virtual `FILES.BBS` generation so that sftp clients can view descriptions of a folder's files without being logged in via terminal server
* integration with x/84's IPC logging mechanism
* better detection of file download completion (currently, file is removed from user's tagged list as soon as it is opened via sftp, rather than when it is finished)
* tracking uploads/downloads (i.e., who uploaded what, how many times has something been downloaded, who downloaded what, etc.)
LargeZipFile is not a usable class; it is an Exception subclass. At any rate, I found there's a flag, allowZip64, that you can pass to the zipfile.ZipFile constructor to allow for Zip64, which should bypass the problem.