cmake: seperate src/utils as a library

no need to build it again for unittests
cmake: fix a typo
fix a bug where the client blocks the finder(or explorer in windows) by dropping a file
Merge pull request #321 from haiwen/fix_blocking_finder_when_dropping_file

fix a bug where the client blocks the finder(or explorer in windows)
Merge pull request #315 from haiwen/seperate_libutils

cmake: seperate src/utils as a library
support opening files of unsync repo from activity tab

don't bother the user if he (or she) cancel it
don't bother the user if he (or she) chooses to cancel the task
Merge pull request #323 from haiwen/dont_bother_user_if_task_canceled

don't bother the user if he (or she) chooses to cancel the task
Merge pull request #322 from haiwen/download_file_from_file_activities_tab

support opening files of unsync repo from activity tab
fix a bug where GetLinkReq triggers twice
add initial support for dropping file through repo tabs

- copy the dropped file to the worktree if the repository is synced
- add progressdialog for the mainwindow uploading
- don't bother the user if he (or she) cancels the uploading task