add "replace" and "upload" functionalities
Created by: liyakun
This pull request includes new features "replace" and "upload" file in the current repository. The "upload" function check the file name conflict(same name check) in the same repository. The "replace" function check the file content conflict(same content check) for the same file.