Ignore build products and backup files

Add a `.gitignore` file so that we don't see builds or *~ backup files in `git status`.