gitignore: Pin directory exclusions to top-level Previously, new files in test directories named `Build*` on case-insensitive filesystems were being incorrectly ignored. While at it, add more comments justifying some entries.