Prefer to use $VIM_CACHE_DIR/undo for undodir.

If $VIMFILES/.undo exists, it'll use that instead.  This also removes
the undo directory, but the contents will be left on the user's machine
until they move it to $VIM_CACHE_DIR/vim/undo ($XDG_CACHE_HOME/vim/undo,
by default).  An ignore was added for the .undo directory, just to keep
things clean.