vim: set undodir=~/.vim/undo

It is annoying to have the .*.un~ files lying around everywhere, so let's put
all of the undo in one spot.  We need to have a .gitignore inside that
directory so that the directory is automatically created.  If the directory
does not exist, Vim ignores it.