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:
Duplicate of this under `### Linux ###`