Implement remote server mode
We should implement an operation mode for the language server where all filesystem I/O is performed by the client. When this mode is used, all project files are read by the client and sent to the server using LSP.
With this a remote language server can be used even without any access to the files being edited.