Add argument to upload-api:replace if exist
Merge branch 'poet' into 3.0
[net] add initial support for reopening logfile
Merge branch '3.0'
Create commits from worktree event queue. (Linux only now)
[client] Remove GC and clean up local blocks after repo is synced.
[client] Get worktree event detail on Windows.
[client] Fix a bug on worktree watching on Linux.
Implement new sync loop, upload part.
[client] Split huge data set to multiple batches for upload.
New sync loop implementation, download part.
[client] Fix repo syncing status display problem.

Should not display "waiting for sync" when a repo is in sync.
SyncInfo->head_commit is only set after checking the server.
But in the new sync loop design, checking with server can happen
after commit.
[client] Fix worktree event handling for large files.
[win] Skip syncing when a file needs to be updated is locked.
[client] fix minor sync timer bug.
[client] Preserver 'x' bit across Linux and Windows.
[client] Fix bugs and improve debug message.
[client] Implement manual sync for new sync loop.
[build] Add CMake Build System

  - remove key storage stuff
  - fix daemon build under osx with cmake
  - Set SOVERSION of libseafile to 0
  - remove shared library version
[common] use packed attribute if available