Add additional gitignore files

The main purpose of these files is to make sure that the directories
backup, swap, and undo are tracked in the repository, and therefore
cloned with it. If they are not, then vim gets upset when it tries to
use them.