Simplify gitignore files

Remove redundancies and old/svn things.
Limit the scope wherever it makes sense.
Ignore all cscope files and test logs.
Make ignoring generated files easier to maintain.