Simplify buffer-local state. Skip discovery in gitcommit files (fugitive, etc.)

Previously I was holding onto the wildignore value from when the buffer is
entered and then restoring it on BufLeave, but why restore it to its old value
when that isn't necessary what the next value will be?