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
improve utils-mac.h so we don't add guards for it each time
Merge pull request #325 from haiwen/improve_utils_mac

improve utils-mac.h so we don't add guard for it each time
download file from unsync encrypted repos
Merge pull request #324 from haiwen/download_file_from_unsync_encrypted_repos

download file from unsync encrypted repos
more the logic of upload/update files more clear
WIP: [filebrowser] auto upload if cached files changed