[Major] cleaned up the FileServer/Client implentation

Also renamed it from RMI to FileServer/Client. There is no reason this
has to be RMI bound, as a client must simply implement FileClient where
the upload/download methods can be implemented to be done over any kind
of remote connection