httpserver: bm->size >= 0 is always true

    In struct _BMetadata, size is unsigned.
    No need to check if bm->size >= 0
Silence compiler warning

   silence the warning of uninitialized head_id in putcommit-v2-proc.c
   silence the warning of implicit declaration of g_open in test-seafile-fmt.c
   silence the warning of implicit declaration of g_stat in test-cdc.c
   silence the warning of uninitialized e in merge-recursive.c
[TODO]update test_write_chunk to support new version of WriteblockFunc
Use uname command to detect Darwin platform
FIX for homebrew
[FIX] Add -liconv for homebrew build