Updated .gitignore

Added some common things you might not want to have in your repository to .gitignore:

 - Visual Studio temporary files, build- and test results
 - Files generated by popular Visual Studio extensions
 - Windows generated- and system files
 - Linux generated- and system files
 - OSX generated- and system files

**EDIT**: I noticed there's a PR for .gitignore at #40. I'd be happy to rebase this after that's been merged. Let's get the contributor count up! :grin:
This applies to git as well: http://unix.stackexchange.com/questions/18743/whats-the-point-in-adding-a-new-line-to-the-end-of-a-file