Organized .gitignore and added new patterns.

I organized the .gitignore (so patterns are grouped according to the tools that generate them). I also added patterns to ignore compiled binaries after building projects (e.g., those in mcs/) and to ignore some other temporary files.