Merged Evan Stachowiak's gitignore

* Created sections for different OS's generated files
* Added additional OSX and Windows generated files
* Improved formatting