Add file up/downloads and directory operations for channel file
repositories, reachable from a channel's right-click "Browse files".
Core (com.ts3client.net.filetransfer):
- FileTransferManager drives the TS3 file protocol on the ts3j socket.
ftinitupload/ftinitdownload results arrive out-of-band as
notifystartupload/notifystartdownload (success) or
notifystatusfiletransfer (failure) events, not as command responses,
so negotiation correlates them by clientftfid via a CompletableFuture.
The byte phase opens a raw TCP socket, sends the ftkey, then streams.
- FileTransfer: observable per-transfer handle (state, progress, cancel).
- RemoteFile: UI-facing listing DTO, keeping core free of ts3j API types.
TeamspeakConnection exposes list/mkdir/delete/rename and up/download and
manages the manager's lifecycle. Swing FileBrowserDialog provides the
browser UI with a live per-transfer progress strip.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>