change gitconfig's whitespace settings

hopefully this fixes some of the painful magit problems
update and consolidate the if snippets
set and doloop snippets
allow recursive snippet expansion