Add better handling for git completion

Because I used > in setup it would create empty files/files with useless stuff
which would then confuse bash when it sourced them.

Added a bunch of comments as well to be more clear about what is going on
Don't setup screenrc by default
Remove push.default = simple

This causes problems with older git and isn't that great anyway