add --show-commit option for seaf-fsck

Except add --show-commit option, I also did follow modification:
(1) When fsck fetch master commit failed, it will try to fetch latest available commit from local disk.
(2) When update branch to latest available commit, using seaf_branch_manager_add_branch interface not seaf_branch_manager_update_branch, it will keep db consistent when the master branch row miss or commit object corrupted.
You should not change an existing commit. The id of a commit object must be consistent with its content. Once a commit object is created, it can't be changed.
You should create a new commit object. Refer to gen_new_commit() function in server/repo-op.c.