gitignore: Add .gitignore. Ignore temp files and build files
Ensures that git isn't listening for changes in directories and files that aren't going to be pushed to remotes.
Fixes issues where Git stops tracking file changes in some programs because it's listening for changes in too many files.