Clean up .gitignore.

Which ones do you guys think we actually need to keep? I always do out of tree builds, so it turns out, I never need any of these.

Note, you can use a .gitconfig entry to specific a local ignore file for things that are consistent across your machine, like *.swp for vi or ~* for emacs.
We don't want to track intermediate object files.