DedSecer

Results 5 issues of DedSecer

Improve from [ pythonista stash's git cli](https://github.com/ywangd/stash/blob/master/bin/git.py) This seemed to work in my simple testing, but I am not sure about if it actually work as `git checkout [branch]`

porcelain.status() output untracked file as string when others output as bytes. It looks like: ``` >>> porcelain.status('./') GitStatus(staged={'add': [b'a'], 'delete': [b'README.md'], 'modify': [b'demo.py']}, unstaged=[b'requirements.txt'], untracked=['b']) ```

### Command `git` for python3. (do not support python2) (Still needs tests) Directly using [dulwich](https://github.com/dulwich/dulwich/)(dulwich is more stronger now) without [gittle](https://github.com/FriendCode/gittle) now. (gittle it not update anymore now) #### TODO...