Merge site-packages change into master.

Branched this into development because I want to test on iPad before
merging
Add .gitignore
Work on git support
Misc changes to Git
Merge pull request #19 from transistor1/development

Development
Add branch_name param to git push
Use dulwich porcelain for git log
Make UI module optional
Fixup UI warning message, fix git log
Add remote origin to config file when cloning
Get rid of monkeypatch for git push and replace it with dulwich
porcelain push.

Misc small changes
Change dulwich download to pull from transistor1's git repo.

There are new changes to dulwich in the repo that require the new
download.
Remove some comments, experiment with dulwich.porcelain clone
Merge pull request #20 from transistor1/development

Development
Reenable short errors for git
Merge pull request #21 from transistor1/development

Reenable short errors for git
Add __init__.py
Add git rm
Add basic git pull
Add touch command