Some refactoring
Add a lot of path assumptions and validations to find path related bugs
Merge the "guess from gitignore" and ".*" button when choosing IgnoreFiles
Should not ignore ".gitignore" when add default ignore files
close tab event should send to pairs
Move the test files to correct dir
move server tests into server module
Handle charset when reading/writing file content
Simplify the server side code

AskForClientInfo, ClientInfoEvent are removed